diff --git a/ANNOUNCE b/ANNOUNCE
index 1e724ec..8c752d7 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,16 +1,19 @@
-The Wine development release 1.3.15 is now available.
+The Wine development release 1.3.16 is now available.
 
 What's new in this release (see below for details):
-  - Support for changing network passwords.
-  - Reflection support in shader compiler.
-  - Tests no longer attempt to cope with Win9x behavior.
-  - A number of MSHTML and MSXML improvements.
+  - New version of the Gecko engine, based on Firefox 4.
+  - Better support for Dwarf debugging information.
+  - Improved handling of animated cursors.
+  - GnuTLS no longer required on Mac OS X.
+  - Improvements to the GDI driver infrastructure.
+  - A number of MSI fixes for the .NET installers.
+  - Several GdiPlus improvements.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.15.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-1.3.15.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.16.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.3.16.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -26,450 +29,618 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.3.15:
+Bugs fixed in 1.3.16:
 
-  11965  gethostbyname requires a successful WSAStartup invocation before performing an operation
-  12583  clipboard monitor is not working in PSPad
-  14412  staruml can't load examples
-  16551  install fails - msi_cabextract FDICopy fails
-  18153  Wizard101 will not load
-  18598  Source Insight: Window Title Bar does not get updated with the new file when jumping to the definition from the current file.
-  19654  The "Mudokon Status Indicator" in Abe's Oddysee doesn't work correctly
-  21210  Clicking on URL hyperlinks in PowerPoint 2007 results in a crash
-  23734  Office 2007 installer: cannot add or remove programs after initial install
-  24250  Sam and Max 304 aborts on unimplemented function msvcr80.dll.getenv_s
-  24268  mono's gluezilla uses unimplemented function msvcr80._stat32
-  24290  GetOpenFileName() triggers read of uninitialized variable
-  24440  Second Life crashes with unimplemented function(s) from msvcr80.dll
-  24553  unimplemented msvcrt.dll._wfindfirst64
-  25033  Solo on Keyboard 9.0.2.1 setup fails
-  25098  BrainSplode! crashes with Unimplemented function d3dx9_36.dll.D3DXCreateTextA
-  25273  msvcrt/misc.ok I10_OUTPUT long double crash with winetest.exe, not make test
-  25443  Unimplemented function msvcr90.dll._ftime64_s
-  25618  Super Meat Boy fails to output audible sound
-  25866  Mafia: City of Lost Heaven - Crash when starting Freeride Supreme Mode
-  26114  gdi32/mapping tests shows a couple memory leaks in valgrind
-  26133  d3dx9_36: surface and texture tests shows an invalid read under valgrind
-  26174  Theme internals crash with Unimplemented function ADVAPI32.dll.EnableTraceEx
-  26177  Compilation of dlls/msxml3 fails on CentOS 3
-  26178  MS Word 2003 save document with embedded fonts needs t2embed.dll._TTEmbedFont@44 implemented
-  26201  wineboot fails to install gecko automatically
-  26228  msxml3 fails to build when libxml2 is built with +icu useflag
-  26233  Dragon Age 2 demo - sound sometimes missing in EA logo movie
-  26248  Pokerstars client, windows pops up just to die
+  13727  In Circuitmaker 2000 cloned part tries itself to pan down the workspace
+  15025  HxD crashes on opening disk
+  17611  Increasing DPI makes displayed text smaller
+  19068  Slingplayer 1.5 installshield error 1628
+  19133  Ground Control: mouse moves extremely strange
+  19337  MSI SQL string comparison operators incorrect...
+  19426  Radio Manager fails to install some times and some others times not
+  20037  Sid Meiers Railroads crashes
+  20664  the MCI devices badly re-enter the player loop.
+  21738  Garmin Training Center map is rendered incorrectly
+  22224  CDBurnerXP 4.2+: drive icon lacks transparency
+  22607  TextPad crashes on exit
+  22860  Enterprise Architect fails to create a new project or loads an existing one
+  23213  .NET Framework 1.1 installation fails with builtin msvcr71 (unimplemented function _set_security_error_handler)
+  23507  AutoCAD 2008: Font size is smaller in properties window
+  23622  Severe bugs make displaying .chm files a disaster
+  23651  Spiceworks Crashes during Installation
+  24844  YoWindow: Shows nothing but black window
+  24852  KidZui: Shows nothing but white window
+  24853  CopyTrans Manager: Fails to install
+  24956  King's Bounty - The Legend: no native mouse pointer
+  25048  ManyCam: Fails to start
+  25204  Speed Teacher: Font size is too small
+  25215  Beat Hazard: GetVolumePathNamesForVolumeNameA function not implemented
+  25402  Woody Two Legs crashes with unimplemented function msvcr90.dll._wcslwr_s
+  25485  Telltale's Strong Bad game launcher: login window is broken
+  25507  Sallambo crashes on main menu
+  25518  gamestop downloader crashes in is_preserving_whitespace in xmlParseCharData
+  25646  LibertyKeeper: SSL connection does not work
+  25693  Opening wine configuration tool for the first time brings up an error window - winemenubuilder
+  25838  winepath and cmd output garbage (really, escape sequences) before desired output
+  25998  Wine builtin IE doesn't handle url with port number, like http://0.0.0.0:8000
+  26000  Builtin IE cannot display ActiveX Controls from ICBC online bank (fixed in gecko)
+  26162  Visual C++ 2005 Trial install fails
+  26236  Shell icons and mouse cursor rendered upside down
+  26305  Majesty 2 fails to start
+  26310  Return to Mysterious Island: mouse behaves erratically in the menus
+  26313  Spellforce: zooming in/out with mousewheel doesn't work
+  26320  Team Fortress 2: side mouse buttons do not work
+  26328  windows aren't restored after minimizing
+  26329  TrackMania: reference timer becomes corrupted after a while
+  26347  Planet Stronghold demo wants msvcr90.dll._get_output_format
+  26367  Winecfg crashes when selecting Graphics tab
+  26374  RagTime Solo 5.6.5 installer crashes
+  26385  HTTP_ParseDay uses "sun" as variable name, which is GCC reserved word on Solaris
+  26390  Planescape: Torment crashes on startup
+  26391  Wine buitin IE crash while loading a page with more than THREE ActiveX objects
+  26393  Temple of Elemental Evil refuses to run
+  26428  Images are display incorrectly in Enterprise Architect.
+  26431  Program Zararadio crashes
+  26433  Freestyle - Street Basketball installer doesn't like wine's msxml3
+  26447  TrackMania (Nations/United): sometimes textures become black/too dark
+  26449  Sandlot Games launcher crashes in mshtml (gecko-1.2.0)
 
 ----------------------------------------------------------------
 
-Changes since 1.3.14:
+Changes since 1.3.15:
 
-Akihiro Sagawa (5):
-      hhctrl.ocx: Use DEFAULT_GUI_FONT to show non-ansi characters properly.
-      shdocvw: Add Japanese translation.
-      wineconsole: Add Japanese translation.
-      credui: Add Japanese translation.
-      msvfw32: Add Japanese translation.
-
-Alexander Kochetkov (1):
-      gdi32: Fix scaling factors for EMR_EXTTEXTOUTW.
+Akihiro Sagawa (1):
+      regedit: Export a decent newline in Unicode format.
 
 Alexander Scott-Johns (2):
-      comctl32: Fix read of uninitialized data in LISTVIEW_GetItemExtT when LVIF_TEXT is not set (Valgrind).
-      comctl32: Fix read of uninitialized data in notify_itemactivate (Valgrind).
+      wininet: Partially implement FreeUrlCacheSpaceW.
+      inetcpl.cpl: Add ability to delete Temporary Internet Files.
 
-Alexandre Goujon (1):
-      ws2_32: Make gethostbyname fail if WSAStartup was not called before.
+Alexandre Julliard (65):
+      advapi32: Fix array size construct that gcc doesn't like.
+      user32: Set the last mouse event timestamp before calling the low-level hook.
+      server: Fix the contents of the mouse data for the low-level hook.
+      winex11: Don't unmap off-screen windows on PropertyNotify events.
+      winex11: Remove the unused clipboard format flags.
+      winex11: Register clipboard formats only once they are actually used.
+      user32: Get rid of the RegisterClipboardFormat driver entry point.
+      server: Fix checking of X button flags when updating the input key state.
+      user.exe: Call the 16-bit hook directly in SendMessage16.
+      user32: No longer export HOOK_CallHooks.
+      gdi32: Fix parameter type in the ModifyWorldTransform driver entry point.
+      gdi32: GetDIBColorTable doesn't need to be part of the DC driver interface.
+      gdi32: Add a common header to the physdev structure.
+      gdi32: Add initial support for a null graphics driver.
+      gdi32: Add null driver entry points for a number of simple painting functions.
+      gdi32: Add null driver entry points for painting functions that have a fallback implementation.
+      gdi32: Add null driver entry points for the print spooler functions.
+      wininet: Convert file size in cache entry to a large integer.
+      ntdll: Fix RtlGetSacl/DaclSecurityDescriptor for relative descriptors on 64-bit.
+      gdi32: Add null driver entry points for the clipping functions.
+      gdi32: Add a mechanism for stacking gdi drivers.
+      gdi32: Add null driver entry points for the mapping functions.
+      gdi32: Add null driver entry points for the OpenGL functions.
+      gdi32: Add null driver entry points for the object selection functions.
+      gdiplus: Use signed types in convert_pixels to avoid problems on 64-bit.
+      gdi32: Fix handling of the DC brush/pen in metafiles.
+      wineps: Add support for SetDCBrush/PenColor.
+      gdi32: Add null driver entry points for SetDCBrush/PenColor.
+      gdi32: Add null driver entry points for the various DC settings functions.
+      gdi32: Add a SetLayout driver entry point and implement it for enhanced metafiles.
+      user.exe: Don't try calling the WH_CALLWNDPROC hook if no hook was set.
+      gdi32: Move all the metafile DC setting functions to mfdrv/dc.c
+      gdi32: Move all the enhanced metafile DC setting functions to enhmfdrv/dc.c
+      gdi32: Add null driver entry points for the device printer functions.
+      gdi32: Add null driver entry points for the pixel format functions.
+      gdi32: Add null driver entry points for the color management functions.
+      gdi32: Add null driver entry points for the palette functions.
+      gdi32: Add null driver entry points for the path functions.
+      gdi32: Avoid null pointer access when we are out of gdi handles.
+      version: Allocate the full virtual size of the section when loading PE resources.
+      configure: Improve check for security framework and don't warn about gnutls in that case.
+      wininet/tests: Update test data location to test.winehq.org/tests.
+      urlmon/tests: Update test data location to test.winehq.org/tests.
+      gdi32: Add null driver entry point for world transform functions, and move them to mapping.c.
+      gdi32: Add null driver entry points for the bitmap functions.
+      gdi32: Add null driver entry points for the DC state functions.
+      gdi32: Don't allocate a GDI handle for saved DCs.
+      gdi32: Add null driver entry points for the text functions.
+      msvcrt: Export the __p_* functions on all platforms.
+      gdi32: Add null driver entry points for the DIB functions.
+      gdi32: Get rid of the no longer used DC_SAVED flag.
+      gdi32: Properly manage the driver stack during DC creation and deletion.
+      gdi32: Add a null driver entry point for GetDeviceCaps.
+      gdi32: Add a null driver entry point for UnrealizePalette.
+      configure: Don't build winmm drivers when their backend library is missing.
+      user32/tests: Fix the GetCursorFrameInfo parameter types.
+      gdi32: Always call the PatBlt entry point for blits that don't use a source.
+      winex11: Implement a separate entry point for PatBlt and simplify the StretchBlt handling.
+      gdi32: Add a null driver entry point for PatBlt.
+      gdi32: Get rid of the BitBlt driver entry point.
+      gdi32: Fix the calling convention of the DeleteDC entry points.
+      gdi32: Find the original driver by checking the CreateDC entry point in CreateCompatibleDC.
+      gdi32: Add a null driver entry point for StretchDIBits.
+      gdi32: Add null driver entry points for StretchBlt and AlphaBlend.
+      gdi32: Remove the function table pointer from the DC structure.
 
-Alexandre Julliard (39):
-      cabinet: Fix the remaining todo_wine tests in fdi.c.
-      cabarc: Set the initial cabinet number to 0.
-      kernel32: Use debugstr_a to avoid overflow with user-specified string.
-      ntdll: Improve the error reporting for invalid PE file architectures.
-      wine.inf: Put some fake dlls in the right place for WoW64.
-      cabinet: Preserve trailing slash on directory name in Extract().
-      server: Increment the usage count of the global table also when starting a local hook.
-      winex11: Synchronize the mouse cursor in update_mouse_state.
-      winex11: Update the window cursor at most once every 100ms if nothing changed.
-      d3dx9_36: Cleanup the fixme_once handling.
-      msxml3: Include the system libxml headers before the Windows headers.
-      server: Make the foreground thread input per-desktop instead of global.
-      server: Store the global cursor position in the server.
-      server: Store the cursor clip rectangle in the server.
-      server: Store the global key state in the server.
-      server: Work around Mac OS not being able to set global breakpoint flags.
-      winedbg: Support setting a breakpoint from a file name and line number.
-      server: Fill the key state in mouse events from the server-side state.
-      server: Maintain the "set since last time" bit for the global keystate.
-      user32: Retrieve the key state for GetAsyncKeyState from the server.
-      user32: Retrieve the current cursor position from the server.
-      winex11: Pass a window handle for keyboard hardware messages too.
-      server: Don't pass a thread id to send_hardware_message, determine it from the window.
-      ntdll: Don't print an error when architecture is set to win64 and the app is 64-bit.
-      server: Pass the original hardware input data to the server and set the message parameters on the server side.
-      server: Set the message code for keyboard input on the server side.
-      server: Set the message code for mouse input on the server side.
-      winex11: Fetch the key state from the server when adjusting state on KeymapNotify and key events.
-      user32: Export a Wine-specific function to send hardware input from the graphics driver.
-      server: Invoke low-level hardware hooks directly from the server side.
-      user32: Handle input injected through SendInput entirely in user32.
-      winex11: Get rid of the ClipCursor and SendInput entry points.
-      winex11: Merge updating the mouse state and sending the input into a single helper function.
-      winex11: Convert the clipboard data list to a standard Wine list.
-      winex11: Convert the clipboard format list to a standard Wine list.
-      winex11: Add a debug helper for printing clipboard formats.
-      winex11: Pre-register atoms for all the built-in clipboard formats.
-      winex11: Always reference clipboard formats by atom instead of name.
-      user32: Remove GetClipboardFormatName from the user driver interface.
+Alistair Leslie-Hughes (2):
+      msxml3: Ignore XML property ResolveExternals.
+      mshtml: Implement IHTMLDOMNode previousSibling.
 
-Alistair Leslie-Hughes (4):
-      mshtml: Add support for get/put mousemove event.
-      oleaut32: Implement ITypeInfo_GetNames Stub/Proxy.
-      msxml3: Add IObjectSafety support to IXMLHTTPRequest.
-      mshtml: Implement IHTMLAnchorElement get/put target.
+Anders Jonsson (1):
+      inetcpl.cpl: Update Swedish translation.
 
-Amine Khaldi (3):
-      comdlg32: Add missing break (Coverity).
-      riched20: Add a missing break.
-      d3dcompiler_43: Avoid an unintended fall-through.
+Andrew Eikum (9):
+      oleaut32: Store ITypeInfoImpls in an array.
+      oleaut32: Convert TLBFuncDesc to be stored as an array.
+      oleaut32: Convert TLBImplType to be stored as an array.
+      oleaut32: Convert TLBVarDesc to be stored as an array.
+      oleaut32: Use helper function to get CustData by GUID.
+      oleaut32: Convert CustData to use standard linked lists.
+      include: Add defines for KSDATAFORMAT_SUBTYPE_ALAW and _MULAW.
+      oleaut32: Convert TLBImpLib to use standard linked list.
+      oleaut32: Convert ITypeLibImpl to use standard linked list.
 
-Andrew Eikum (1):
-      dsound: Also handle two-to-six-channel conversions.
+André Hentschel (7):
+      kernel32: Add stub for GetVolumePathNamesForVolumeNameA.
+      mountmgr.sys: Handle IOCTL_DISK_GET_DRIVE_GEOMETRY_EX.
+      ntoskrnl.exe: Add more mutex stubs.
+      kernel32/tests: Fix a test for real hardware.
+      ws2_32: Downgrade FIXME for WS_SIO_SET_COMPATIBILITY_MODE to a TRACE.
+      advapi32/tests: Add some skips.
+      kernel32/tests: Also test for ntdll.dll in toolhelp tests.
 
-Andrew Nguyen (2):
-      configure: Check for additional libxml2 headers to reject inadequate libxml2 versions.
-      configure: Check for a modern sched_setaffinity prototype.
+Andy Norris (1):
+      winealsa: Add support for alsa cards without a PCM mixer (only Line).
 
-André Hentschel (9):
-      advapi32: Add stub for EnableTraceEx.
-      odbccp32: Improve some stubs.
-      msvcrt/tests: Don't test function directly when reporting errno.
-      ntoskrnl.exe: Be more verbose in MmGetSystemRoutineAddress.
-      msvcrt: Implement _wfindfirst64.
-      msvcrt: Implement _wfindnext64.
-      winex11.drv: Quiet a noisy FIXME.
-      kernel32/tests: Add SetLastError() before a test (Valgrind).
-      t2embed: Add stub for TTEmbedFont.
+Aric Stewart (6):
+      ws2_32: async_send with no buffers does not need to do any work.
+      user32: Remove SetWindowText export.
+      usp10: Corrections to ScriptCPtoX.
+      usp10: Update ScriptCPtoX to handle RTL runs.
+      usp10: Correct fTrailing handling for RTL runs in ScriptCPtoX.
+      usp10: Rewrite of ScriptXtoCP to handle pwLogClust for LTR and RTL runs.
 
-Austin English (33):
-      gdi32/tests: Remove win9x hacks.
-      kernel32/tests: Remove win9x hacks.
-      version/tests: Remove win9x hacks.
-      userenv/tests: Remove win9x hacks.
-      urlmon/tests: Remove win9x hacks.
-      spoolss/tests: Change skip() to win_skip().
-      shell32/tests: Remove win9x hacks.
-      oleaut32/tests: Remove win9x hacks.
-      oleaut32/tests: Fix a couple of todo_wine's.
-      msi/tests: Remove win9x hacks.
-      msxml3/tests: Remove win9x hacks.
-      advapi32/tests: Remove Win9x hacks.
-      advpack/tests: Remove win9x hacks.
-      comdlg32/tests: Remove win9x hacks.
-      cryptnet/tests: Remove win9x hacks.
-      comctl32/tests: Remove win9x hack.
-      d3d8/tests: Remove win9x hack.
-      dsound/tests: Remove win9x hack.
-      fusion/tests: Remove win9x hacks.
-      hlink/tests: Remove win9x hacks.
-      inetmib1/tests: Add missing broken().
-      kernel32/tests: Remove win9x hacks.
-      mlang/tests: Remove win9x hacks.
-      msi/tests: Remove win9x hacks.
-      gdi32/tests: Remove win9x hacks.
-      lz32/tests: Remove win9x hacks.
-      riched20/tests: Remove win9x hacks.
-      crypt32/tests: Remove win9x hacks.
-      rpcrt4/tests: Remove win9x hacks.
-      secur32/tests: Remove win9x hacks.
-      setupapi/tests: Remove win9x hacks.
-      ntprint/tests: Remove win9x hacks.
-      shlwapi/tests: Remove win9x hacks.
+Aurimas Fišeras (1):
+      inetcpl.cpl: Update Lithuanian translation.
 
-Charles Davis (2):
-      ntdll: Fix IOCTL_CDROM_RAW_READ on Mac OS.
-      ntdll: Implement CDROM_GetInterfaceInfo() on Mac OS.
+Austin English (10):
+      gdiplus: Avoid shadowing a parameter.
+      mshtml: Avoid shadowing a parameter.
+      msxml3: Avoid shadowing a parameter.
+      oleaut32: Avoid shadowing a parameter.
+      user32: Avoid shadowing a parameter.
+      cmd: Avoid shadowing a parameter.
+      setupapi: Avoid shadowing a parameter.
+      shell32: Avoid shadowing a parameter.
+      wininet: Avoid shadowing a parameter.
+      mapi32: Avoid shadowing a parameter.
 
-Damjan Jovanovic (1):
-      winemenubuilder: FriendlyDocName isn't part of the association.
+Austin Lund (1):
+      user32/tests: Output error information in cursoricon tests.
 
-David Adam (2):
-      d3dx9_36: Add a test for D3DXCreateBox.
-      d3dx9_36: Implement ID3DXMesh_GetNumBytesPerVertex.
+David Hedberg (2):
+      msi: Use ordering information to update the correct row.
+      msi: Check other sources if install media not present at last used location.
 
-Dmitry Timoshkov (9):
-      user32: Cope with failing SetForegroundWindow().
-      gdi32: Add dumping of child GDI font cache.
-      gdi32: Go through all hfontlist entries not just the first one when checking whether font is in the child font list.
-      gdi32: Do not leak the hfont list (Valgrind).
-      gdi32: Use graphics mode specified at the EMF creation time when playing EMR_EXTTEXTOUT record.
-      gdi32: EnumFontFamilies should also match against fully qualified face name.
-      gdi32: Add a EnumFontFamilies test to see how it handles various font faces.
-      comctl32: 'clip' rect is unused in the WM_ERASEBKGND rebar class handler.
-      user32: Add a test to make sure that SendInput sets a non-zero event time.
+Detlef Riekenberg (1):
+      inetcpl: Update German translation.
 
-Dylan Smith (1):
-      d3dx9: Add stubs for D3DXCreateText.
+Dmitry Timoshkov (10):
+      gdi32: Add some additional tests for negative axes extents.
+      winecfg: Protect from closing the root key.
+      gdi32: Remove a redundant check for Roman font presence.
+      advapi32: Properly skip the tests that depend on English locale.
+      advapi32: Move the 'const' modifier in front of the storage specifier.
+      kernel32: Add dumping of GENERIC_EXECUTE flag in CreateFile.
+      advapi32: Fix the English language check.
+      advapi32: Add a bunch of file access tests.
+      server: Explicitly add FILE_DELETE_CHILD permission when file write access is allowed.
+      advapi32: Add more file access permissions tests.
 
-Erich Hoover (1):
-      shdocvw: Implement IWebBrowser::ExecWB and IWebBrowser::QueryStatusWB.
+Dylan Smith (5):
+      d3dx9: D3DXCreateText implementation for simple glyphs.
+      d3dx9: Support triangulation of complex glyphs in D3DXCreateText.
+      d3dx9/tests: Add basic tests for D3DXCreateText.
+      d3dx9/tests: Added outline comparison tests for D3DXCreateText.
+      d3dx9/tests: Partially test front and back faces for D3DXCreateText.
 
-Frédéric Delanoy (1):
+Eric Pouech (29):
+      dbghelp: When using a regular expression on a file name, interpret '*' as any string (.* in regexp form).
+      winedbg: Fix 'break file : lineno' command so that file can be in other modules than the current one.
+      dbghelp: When parsing dwarf debug info, silence ptr_to_member and imported_declaration entries.
+      dbghelp: More precisely manage the inline attribute.
+      dbghelp: Add hierarchical information in die object.
+      dbghelp: Add support for namespace support out of dwarf debug format.
+      dbghelp: In dwarf debug format, correctly manage the DW_AT_specification attribute.
+      dbghelp: Store the compiland into the parse context.
+      dbghelp: Add support for parsing methods (in C++ classes) for dwarf debug format.
+      dbghelp: When parsing a subprogram in dwarf debug format, properly handle scoping for functions with both declaration & definition.
+      dbghelp: Quirk for supporting anonymous UDT (class, struct, enum...).
+      dbghelp: Add helper to get global address out of symt, instead of going though symt_get_info.
+      dbghelp: When building the by address lookup table, speed up resorting by always taking into account that existing symbols are already sorted.
+      dbghelp: Fix bug in managing COFF files array.
+      dbghelp: In i386 stack unwinder, ensure we always return decent 64bit values.
+      dbghelp: Fix StackWalk when dwarf or pdb unwinders are called on first frame (CPU i386).
+      dbghelp: In dwarf unwinder, fix the last valid IP value to be used for a given line of Call Frame Information.
+      dbghelp: When doing a stack backtrace on i386 with dwarf or pdb unwinders, get the PC from the right frame.
+      dbghelp: In i386 stackwalk implementation, store the frame index in the private information.
+      dbghelp: In msc unwinding code (from FPO extended data), take care of cases where several variables are stored in the same hash.
+      dbghelp: For the internal functions on x86_64 stack unwinding, only rely on CONTEXT information, and manage STACKFRAME64 updates in outer functions.
+      dbghelp: Fix unwinding on x86-64 (correct frame and context).
+      dbghelp: When managing DW_OP_deref_size, always ensure we read the size parameter.
+      dbghelp: In dwarf debug functions, use register name instead of register value.
+      dbghelp: Set also reloc_delta information in module description for PE native modules.
+      winedbg: Added support for printing WCHAR in print_typed_basic.
+      winegcc: Correctly manage the -V option (gcc expects to be among the first ones, with -b).
+      winedbg: Also get rid of trailing \r in input_read_line.
+      winedbg: Display a valid source file when reporting an error about a missing source file.
+
+Erich Hoover (14):
+      user32: Permit loading animated cursors with CreateIconFromResource(Ex).
+      user32: Implement semi-stub of GetCursorFrameInfo.
+      winex11: Use GetCursorFrameInfo to obtain animated frame delay.
+      user32: Fix GetCursorFrameInfo when passed the proper number of steps.
+      user32: Add FIXMEs for unsupported animated cursor data.
+      user32: Add preliminary support for reading and storing multi-rate animated cursor data.
+      winex11: Add support for retrieving multi-rate animated cursor data.
+      user32: Add get/release routines for accessing cursor frames.
+      user32: Add a convenience function for retrieving the number of steps in a cursor.
+      user32: Handle static and animated cursors as separate objects.
+      user32: Add support for retrieving individual animated frames.
+      user32: Merge create_icon_bitmaps with CURSORICON_CreateIconFromBMI.
+      user32: Add support for sequence-based animated cursors.
+      user32: Downgrade GetCursorFrameInfo FIXME to a TRACE unless the second parameter is non-zero.
+
+Francois Gouget (43):
+      d3dcompiler_43: Add a '\n' to a couple of FIXME() traces.
+      comctl32/tests: Add a '\n' to a pair of ok() calls.
+      wscript/tests: Add a '\n' to an ok() call.
+      mscoree: Add a '\n' to an ERR() trace.
+      d3dx9_36/tests: Add a trailing '\n' to ok() calls.
+      msvcrt/tests: Add a trailing '\n' to an ok() call.
+      shell32/tests: Add a trailing '\n' to a skip().
+      comctl32: Add a trailing '\n' to an ERR() call.
+      urlmon/tests: Add a '\n' to an ok() call.
+      gdi32/tests: Add a '\n' to an ok() call.
+      comcat/tests: Add a '\n' to a pair of ok() calls.
+      riched20/tests: Add a '\n' to an ok() call.
+      wininet: Avoid a conflict with the sun macro when compiling on Solaris.
+      wordpad: Fix the background color menu label.
+      user32/tests: Use NULL instead of casting 0.
+      msi: Small tweak to the usage for readability.
+      winmm: Add full stops to some error messages.
+      cmd: Add full stops to some parameter descriptions in the usage.
+      winecfg: Add a full stop to an error message.
+      advapi32: Make trustee_name_A_to_W() and free_trustee_name() static.
+      comctl32/tests: Make init_tbsize_result() and tbsize_addbutton() static.
+      gdiplus: Make load_ttf_name_id() static.
+      gdiplus: Remove GdiplusShutdown() as it is redudant with GdiplusShutdown_wrapper().
+      services: Make find_service_by_group() static.
+      wined3d: Make IWineD3DVolumeImpl_GetResource() static.
+      msxml3: Make element_get_dt() static and move it around to avoid a forward declaration.
+      mshtml: Make get_pos_rect() static.
+      sxs: The sxs debug channel is unused so remove it.
+      npmshtml: The npmshtml debug channel is unused so remove it.
+      hhctrl.ocx: Make AppendFullPathURL() static.
+      wininet/tests: Make test_InternetErrorDlg() static.
+      dxdiagn: Make IDxDiagContainerImpl_QueryInterface() static.
+      msi: Make get_assembly_record() static.
+      quartz: Make some functions static.
+      shell32/tests: Make test_ShellItemGetAttributes() static.
+      msvcrt: Export _wcsupr_s_l().
+      mscoree/tests: Make the test and cleanup functions static.
+      msxml3: Make ConnectionPoint_Init() and BindStatusCallback_Detach() static.
+      d3dx9_36/tests: Replace a malloc() with HeapAlloc()+HeapFree().
+      mscoree: Force_get_runtime_info() is not used so remove it.
+      qcap: Make VfwPin_GetMediaTypeVersion() static.
+      kernel32: Some spelling tweaks and fixes for the error messages.
+      wininet/tests: Fix compilation on systems that don't support nameless unions.
+
+Frédéric Delanoy (2):
+      inetcpl.cpl: Update French translation.
       po: Update French translation.
 
-Gerald Pfeifer (1):
-      wpp: Add explicit casts when mixing unsigned and signed integers.
+Hans Leidekker (17):
+      userenv: Initialize a variable (valgrind).
+      msi/tests: Check the result of get_system_dirs and get_user_dirs.
+      msi: Reduce filename to the long name in ITERATE_RemoveFiles.
+      msi: Compare keys only in compare_record.
+      msi: Avoid registering duplicate source list information.
+      msi: Manage one assembly cache per major version of the .NET runtime.
+      msi: Make a second pass to determine which files to install in the InstallFiles action.
+      msi: Load media info even if there's no file to install.
+      msi: Assume a file is present if the target exists with the same size and there's no file version or hash to verify.
+      msi: Also register components without a key path.
+      msi: Build the key path from the display name if the component is an assembly.
+      odbccp32: Initialize the usage count in SQLRemoveDriverManager and SQLRemoveDriver (valgrind).
+      msi: Fix a memory leak (valgrind).
+      msimsg: New dll.
+      msi: Skip reference counting for assembly components.
+      msi: Let the InstallFiles action determine which private assembly files to install.
+      msvcrt: Implement _set_security_error_handler.
 
-Hans Leidekker (9):
-      msi: Fix a trace.
-      appwiz.cpl: List 32-bit applications on 64-bit platforms.
-      uninstaller: List 32-bit applications on 64-bit platforms.
-      msi: A custom action dll failing to load is not a fatal error.
-      netapi32: Try running the smbpasswd tool in NetUserChangePassword.
-      server: Map the Unix user id to a local user SID instead of the interactive SID.
-      advapi32: Use a fixed computer SID that matches local user SIDs.
-      userenv: GetProfilesDirectoryW accepts a NULL buffer.
-      userenv: Implement and test GetUserProfileDirectory.
+Henri Verbeet (40):
+      wined3d: Check subresources for NULL during texture cleanup.
+      wined3d: Get rid of the SFLAG_LOCKED hack in flush_to_framebuffer_drawpixels().
+      wined3d: Clear SFLAG_LOCKED as soon as possible in IWineD3DSurfaceImpl_Unmap().
+      wined3d: Try to evict the surface's sysmem copy in surface_load_location().
+      wined3d: Pass gl_info to volume_bind_and_dirtify().
+      wined3d: Don't require container parents for IWineD3DDeviceParent methods to be COM objects.
+      ddraw: Just pass NULL as swapchain parent.
+      winex11.drv: Allow disabling vertical sync using EXT_swap_control.
+      wined3d: Merge the various resource desc structures.
+      wined3d: Move the GetLevelDesc() functions to the IWineD3DBaseTexture interface.
+      wined3d: Store all the resource desc information in struct wined3d_resource.
+      d3d9: Surfaces always have resource type WINED3DRTYPE_SURFACE.
+      wined3d: Introduce wined3d_resource_get_desc() to retrieve the resource desc.
+      wined3d: Generalize GetSurfaceLevel() / GetVolumeLevel() to GetSubResource().
+      wined3d: Get rid of IWineD3DBaseTexture::GetSubResourceDesc().
+      winex11: Remove a redundant forward declaration.
+      wined3d: Get rid of IWineD3DSurface::GetDesc().
+      wined3d: Get rid of IWineD3DVolume::GetDesc().
+      wined3d: Get rid of wined3d_buffer_get_desc().
+      wined3d: Don't invalidate STATE_VDECL in context_set_render_offscreen().
+      wined3d: Get rid of IWineD3DTexture::Map().
+      wined3d: Get rid of IWineD3DTexture::Unmap().
+      wined3d: Get rid of IWineD3DCubeTexture::Map().
+      wined3d: Get rid of IWineD3DCubeTexture::Unmap().
+      wined3d: Get rid of IWineD3DVolumeTexture::Map().
+      wined3d: Get rid of IWineD3DVolumeTexture::Unmap().
+      wined3d: Generalize AddDirtyRect() / AddDirtyBox() to AddDirtyRegion().
+      d3d9: Use IDirect3DVolume9_AddRef to increment the volume's refcount.
+      d3d8: Fix IDirect3DCubeTexture8Impl_GetLOD().
+      wined3d: Use the correct resource_ops in cubetexture_unload().
+      wined3d: Get rid of IWineD3DVolumeTexture.
+      wined3d: Get rid of IWineD3DVolumeTextureImpl.
+      wined3d: Get rid of IWineD3DTexture.
+      wined3d: Get rid of IWineD3DTextureImpl.
+      wined3d: Get rid of IWineD3DBaseTexture::IsCondNP2().
+      wined3d: Don't use surface_from_resource() to retrieve volumes.
+      wined3d: Get rid of IWineD3DCubeTexture.
+      wined3d: Get rid of IWineD3DCubeTextureImpl.
+      wined3d: Merge the IWineD3DBaseTexture::AddDirtyRegion() implementations.
+      wined3d: Merge the texture cleanup functions.
 
-Henri Verbeet (20):
-      wined3d: Filter sRGB capabilities during format initialization.
-      wined3d: Recognize some Northern Islands cards in select_card_ati_mesa().
-      wined3d: Merge device_unload_resource() and reset_unload_resources().
-      wined3d: Remove IWineD3DResource::UnLoad() from the public interface.
-      wined3d: Pass const resources to some resource functions.
-      wined3d: Make IWineD3DResourceImpl an independent structure.
-      wined3d: Rename ATI to AMD.
-      wined3d: Recognize some Nouveau renderer strings.
-      wined3d: The basetexture_set_dirty() return value is never used.
-      wined3d: Use basetexture_set_dirty() in some more places.
-      wined3d: Standalone surfaces should never be sRGB.
-      wined3d: Retrieve the surface's texture name through a function.
-      wined3d: Retrieve the GL texture through a function.
-      wined3d: Add support for EXT_texture_sRGB_decode.
-      wined3d: Use EXT_texture_sRGB_decode to avoid sRGB texture duplication.
-      wined3d: Pass gl_info to basetexture_bind().
-      wined3d: Pass gl_info to surface_bind().
-      ddraw: Just pass NULL as index buffer parent.
-      wined3d: Remove COM from the buffer implementation.
-      wined3d: Get rid of the IWineD3DBuffer typedef.
+Huw Davies (3):
+      fonts: Increase the version number so that we don't use the Mac's version of symbol.ttf, which doesn't contain a Microsoft Symbol charmap.
+      include: Uncomment EMRGRADIENTFILL.
+      gdi32: Print the fixme when the pen is actually hatched.
 
-Huw Davies (4):
-      oleaut32: Mask off the lsb from the vtbl offset. This is set when the user specifies an offset in ICreateTypeInfo.
-      oleaut32: Fix the typelib marshaler when the vtbl has holes.
-      widl: Initialise [out] only conformant arrays.
-      gdi32: Remove a wayward CDECL.
+Hwang YunSong (2):
+      inetcpl.cpl: Update Korean resource.
+      po: Update Korean resource.
 
-Jacek Caban (39):
-      include: Make some include guards compatible with MS headers.
-      jscript: Added SetScriptState(SCRIPTSTATE_UNINITIALIZED) implementation.
-      jscript: Added more uninitialization tests.
-      wscript: Added tests.
-      urlmon: Register MIME filter only for bindings testing them.
-      mshtml: Added IHTMLElement4 stub implementation.
-      mshtml.idl: Added DispHTMLDOMAttribute declaration.
-      mshtml: Added IHTMLElement4::getAttributeNode implementation.
-      mshtml: Added IDispatchEx support to HTMLDOMAttribute object.
-      mshtml: Added attribute object tests.
-      mshtml: Make sure we don't try to create node object for attributes.
-      mshtml: Improved debug traces.
-      mshtml: Added IHTMLDOMAttribute::get_nodeValue implementation.
-      mshtml: Moved call_disp_func to htmlevent.c.
-      mshtml: Added IHTMLStyle::[get|put]_backgroundPosition implementation.
-      mshtml: Fixed buffer handling in set_nsstyle_attr.
-      mshtml: Moved VARIANT to style value string conversion to separated function.
-      mshtml: Reimplement IHTMLStyle::put_backgroundPositionX using background-position property.
-      mshtml: Reimplement IHTMLStyle::get_backgroundPositionX using background-position property.
-      mshtml: Reimplement IHTMLStyle::put_backgroundPositionY using background-position property.
-      mshtml: Reimplement IHTMLStyle::get_backgroundPositionY using background-position property.
-      mshtml: Added more backgroundPosition* tests.
-      jscript: Fixed corner cases in parseInt implementation.
-      mshtml: Fixed typos in IHTMLInputElement::value tests.
-      mshtml: Store style filter in HTMLStyle object.
-      mshtml: Store style object in element object.
-      mshtml: Added simple filter parser to support opacity.
-      mshtml: Added IHTMLFormElement::onsubmit implementation.
-      mshtml: Fixed memory leak.
-      mshtml: Added support for canceling default event behavior.
-      mshtml: Added onsubmit and event canceling tests.
-      mshtml: Added IHTMLFormElement::get_elements implementation.
-      mshtml: Added IHTMLLocation::replace implementation.
-      mshtml: Correctly handle NULL BSTR in VARIANT in IDispatchEx implementation.
-      mshtml: Reuse attribute objects.
-      mshtml: Use our IDispatchEx-based attributes implementation instead of nsIDOMAttr.
-      mshtml: Added more attribute object tests.
-      mshtml: Fixed use after free in HTMLElement_destructor.
-      mshtml: Added support for indexed access to form elements.
-
-Jerome Leclanche (1):
-      winemenubuilder: Make sure extension-based mimetypes are always lowercase.
-
-John Edmonds (4):
-      gdi32/tests: Added tests for copying a single pixel from top down and bottom up bitmaps.
-      gdi32: Fixed GetDIBits for top-down bitmaps.
-      gdi32/tests: Updated tests for top-down destination bitmaps.
-      gdi32: Fixes GetDIBits for top-down destination bitmaps.
+Jacek Caban (14):
+      mshtml: Don't assume that HTMLWindow_Create sets ret val before succeeding.
+      wincodec.h: Fixed a typo.
+      mshtml: Fixed type in get_nsdoc_window.
+      mshtml: Reimplement nsIURI::SetScheme on top of IUri.
+      mshtml: Properly handle BLOCKED:: URLs in IHTMLImgElement::get_src.
+      wininet: Release gzip_buffer when opening new connection.
+      wininet: Update remaining HttpOpenRequest to use the new hello.html location.
+      mshtml: Wine Gecko 1.2.0 release.
+      mshtml: Notify parser about script evaluation.
+      appwiz.cpl: Get rid of installing addons from cab file support.
+      shdocvw: Fixed allocation failure test.
+      mshtml: Correctly set NULL event.
+      wininet: Decompress gzip data in refill_buffer to ensure that we have the data to report.
+      wininet: Ensure that we have data to report before sending INTERNET_STATUS_REQUEST_COMPLETE in HTTP_HttpEndRequestW.
 
 Joris Huizer (1):
-      userenv: GetUserProfileDirectoryW: Plug memory leak.
+      dbghelp: dwarf2_get_cpp_name: fix off-by-one error.
 
-Juan Lang (17):
-      cryptnet: Delete existing cache entries when out of date.
-      wininet: Rename variables for readability.
-      wininet: De-Hungarian auth cache member names.
-      wininet: De-Hungarian appinfo member names.
-      wininet: De-Hungarian session member names.
-      wininet: De-Hungarian HTTP request member names.
-      wininet/tests: Test retrieving http requests from cache.
-      wininet: Use correct scheme for cache entries.
-      wininet: Support setting the expired time in SetUrlCacheEntryInfo.
-      wininet: Store entries in url cache with valid expiration date.
-      wininet: Default to 10 minutes expiration for cache entries.
-      wininet: Default to 10 minutes expiration for cache entries.
-      wininet: Support the Cache-Control max-age directive for setting url cache entry expiration.
-      wininet: Move creating cache file to a helper function.
-      include: Add some missing definitions.
-      wininet: Fix off-by-one error.
-      wininet: Remove outdated comment.
+Juan Lang (32):
+      wininet: Store entries in url cache with valid last-modified date.
+      wininet: Remove a no-op trinary expression.
+      wininet: Fix a comment.
+      wininet: Rename a couple members to reflect their usage, and remove redundant comments.
+      wininet: Rename a couple members based on publicy available information.
+      wininet: Change a type based on publicly available information.
+      wininet: Rename a variable based on publicly available information.
+      wininet: Increment file use count when committing a URL cache entry.
+      wininet: Decrement file use count when deleting a cache entry.
+      wininet: Fully initialize time variable (valgrind).
+      wininet: Change type of cache limit and usage to large integers.
+      wininet: Account for disk space used by cache.
+      wininet: Account for disk space usage when deleting url cache entries.
+      wininet: Set last access time when retrieving a URL cache entry.
+      wininet: Store headers in url cache entries.
+      wininet: Implement RetrieveUrlCacheEntryStreamW.
+      wininet: Implement FindNextUrlCacheEntryW.
+      kernel32: Add some parameter checking to FileTimeToDosDateTime.
+      wininet/tests: Add a couple more tests for GetUrlCacheEntryInfoEx.
+      wininet: Add more tests for CommitUrlCacheEntry.
+      wininet: Treat times of 0 as a special value.
+      wininet: Test sticky url cache entries.
+      wininet: Implement sticky url cache entries.
+      wininet: Implement DeleteUrlCacheEntryA/W with a helper function.
+      cryptnet: Let DeleteUrlCacheEntryW remove the cache file.
+      wininet: Reimplement IsUrlCacheEntryExpired.
+      cryptnet/tests: Partially revert commit de6e33f306a3b1b424ad1a9c41e85d3692ef9e4d.
+      cryptnet: Fix typo.
+      cryptnet/tests: Add more tests for revocation checking.
+      cryptnet: Trace more reasons for revocation failure.
+      wininet: Differentiate checking online and offline CRLs.
+      wininet: Don't adjust the use counts in RetrieveUrlCacheEntryFile until the function will succeed.
 
-Jörg Höhle (2):
-      winmm: Let WideCharToMultiByte search for NUL string terminator (Valgrind).
-      mciwave: Fix a leak when Open fails (valgrind).
+Jörg Höhle (11):
+      mciwave: Fix precondition to avoid having 2 simultaneous players.
+      winmm: MCI does not support the 0xhexadecimal notation.
+      winecoreaudio: Do not access MIDIHDR past notification callback.
+      winecoreaudio: Ignore failure to notify winmm wave clients.
+      winecoreaudio: Fix 64-bits incompatibilities.
+      wineoss: Ignore failure to notify winmm wave clients.
+      wineoss: Fix 64-bits incompatibilities.
+      winealsa: CreateEvent and CreateThread return NULL on error, not INVALID_HANDLE_VALUE.
+      winealsa: Open must fail when recorder thread creation fails.
+      winealsa: Ignore failure to notify winmm wave clients.
+      winealsa: Favour HeapAlloc() over malloc().
 
-Maarten Lankhorst (7):
-      gdiplus: Implement in-memory font storage.
-      gdi32: Handle BITMAP_CopyBitmap correctly for negative heights.
-      mshtml: Make sure system xpcom dll gets loaded.
-      ntdll: Fix time accounting in NtQuerySystemInformation.
-      gdiplus: Clean up gdip_format_string.
-      gdiplus: Add tests and fix GdipDrawImagePointsRect.
-      gdiplus: Implement GdipAddPathString.
+Ken Thomases (22):
+      secur32: Remove outdated comment that schannel is unimplemented.
+      secur32: Extract schan_imp_send function.
+      secur32: Extract schan_imp_recv function.
+      secur32: Extract schan_imp_get_session_peer_certificate function.
+      secur32: Move some GnuTLS-specific helper functions.
+      secur32: Extract schan_imp_get_session_cipher_block_size function.
+      secur32: Extract schan_imp_get_connection_info function.
+      secur32: Use schan_imp_get_connection_info to get MAC size.
+      secur32: Extract schan_imp_handshake function.
+      secur32: Extract schan_imp_set_session_transport function.
+      secur32: Extract schan_imp_create/dispose_session functions.
+      secur32: Extract GnuTLS-isms from schan_pull to schan_pull_adapter.
+      secur32: Extract GnuTLS-isms from schan_push to schan_push_adapter.
+      secur32: Set push & pull functions in schan_imp_create_session.
+      secur32: Set session credentials in schan_imp_create_session.
+      secur32: Use opaque type schan_imp_session in schan_imp interface.
+      secur32: Extract schan_imp_allocate/free_certificate_credentials functions.
+      secur32: Extract schan_imp_init/deinit functions.
+      secur32: Make no-implementation error message non-GnuTLS-specific.
+      secur32: Separate GnuTLS schannel implementation into separate file.
+      configure: Add test for Security/Security.h header.
+      secur32: Add alternative schannel implementation for Mac OS X.
 
-Marcus Meissner (19):
-      wineoss.drv: Fixed incorrect sizeof() (Coverity).
-      rsaenh: Fixed bad sizeof() usage (Coverity).
-      kernel32: Fixed mismatched bracket (Coverity).
-      cryptui: Fixed bad sizeof() (Coverity).
-      dbghelp: Fixed pasted size error (Coverity).
-      regedit: fgetc() gets int, not char (Coverity).
-      user32: Move functional code out of assert() (Coverity).
-      user32: Remove side effect code out of asserts() (Coverity).
-      winedump: Remove double assignment (Coverity).
-      msvcrt: Use = instead of == in test (Coverity).
-      ws2_32: name is never NULL as array (Coverity).
-      user32: Fixed some more side effect functions in assert() (Coverity).
-      server: Avoid shadowing a global variable.
-      kernel32: Avoid shadowing "status" variable.
-      shdocvw: Rewrite code to make more understandable (Coverity).
-      oleaut32: Local variable goes out of scope via pointer (Coverity).
-      dbghelp: Local variable used out of scope (Coverity).
-      msi: Pointer to out of scope local variable (Coverity).
-      msvcrt: Move side effect out of assert (Coverity).
+Maarten Lankhorst (2):
+      ntdll: Fix time units for SystemPerformanceProcessorInformation, and steal idle time for kernel time.
+      kernel32: CreateProcessA should not call CreateProcessW directly.
 
-Matteo Bruni (7):
-      d3dcompiler: Fix initial allocation (Valgrind).
-      d3dx9: Remove a couple of spurious assignments (LLVM/Clang).
-      d3dx9: Remove an unnecessary initialization (LLVM/Clang).
-      d3dx9/tests: Remove spurious assignment (LLVM/Clang).
-      wpp: Free strings on define deletion (Valgrind).
-      wpp: Let pp_add_define take the responsibility of copying strings (Valgrind).
-      d3dx9: Fix memory access for images with less than 4 bytes per pixel (Valgrind).
+Marcus Meissner (11):
+      winealsa.drv: Fixed bad sizeof (pointer vs struct) (Coverity).
+      mshtml: Removed duplicate const (Coverity).
+      quartz: Removed const from const REFIID (Coverity).
+      d3dcompiler_43: Initialize a variable (Coverity).
+      shell32: memset only gets character (Coverity).
+      shell32: Arrays are never NULL (Coverity).
+      shdocvw: Removed useless array for NULL check (Coverity).
+      user32: Remove useless NULL checks (Coverity).
+      comdlg32: Removed useless NULL check (Coverity).
+      comctl32: Removed array NULL check (Coverity).
+      jscript: Mark up fallthrough switch cases (Coverity).
 
-Michael Stefaniuc (3):
-      storage.dll16: Remove unused struct declaration.
-      msxml3: COM cleanup for the IDispatchEx iface.
-      storage.dll16: COM cleanup in storage.c.
+Max TenEyck Woodbury (2):
+      c2man: Fix .spec file flag recognition.
+      c2man: Label export list slots.
 
-Nikolay Sivov (28):
-      msxml3: Store document event handler for ready state notification.
-      msxml3: Remove useless parts of schema cleanup helper.
-      msxml3: Use helper to consistently dump variant parameters.
-      msxml4: Add version info.
-      msxml3: Remove forward to removeChild() method for nodes.
-      msxml3: Remove appendChild() forward.
-      msxml3: Remove hasChildNodes() forward.
-      msxml3: Remove get_ownerDocument() forward.
-      msxml3: Remove get_text() forward.
-      msxml3: Remove selectNodes() forward.
-      msxml3: Remove selectSingleNode() forward.
-      msxml3: Remove transformNode() forward.
-      msxml3: Get rid of not longer used internal IXMLDOMNode vtable.
-      comctl32/comboex: Reduce variable scope.
-      comctl32/datetime: Fix use of out-of-scope local buffer (Coverity).
-      comctl32/rebar: Don't use local variable with the same name as function parameter (Coverity).
-      comctl32/listview: Fix dead condition (Coverity).
-      comctl32/ipaddress: Use array index after range check (Coverity).
-      oleaut32: Fix sizeof() usage (Coverity).
-      msxml3/tests: Remove broken test and parameter check.
-      msxml3: Reject xmlns attribute to be added to element.
-      msxml3: Always set out pointer to null on failed QueryInterface.
-      msxml3: Add get_output() implementation for processor.
-      msxml3: Fail on certain node types in insertBefore() for attributes, remove broken tests.
-      msxml3: Link dom attribute with parent interface pointer.
-      msxml3: Test insertBefore() behaviour with node relinking, simplify common test cases.
-      msxml3: Remove child with parent method first before insert with insertBefore().
-      msxml3: Test to show namespace definition output for children.
+Michael Stefaniuc (7):
+      shdocvw: COM cleanup for the ITaskbarList iface.
+      mscoree: COM cleanup in metahost.c.
+      d3d8: COM cleanup in shader.c.
+      rpcrt4/tests: COM cleanup in cstub.c.
+      oleaut32/tests: COM cleanup in olepicture.c.
+      d3d8: COM cleanup for the IDirect3DVolumeTexture8 iface.
+      oleaut32/tests: COM cleanup in vartype.c.
 
-Paul Vriens (1):
-      msi: Add a missing va_end() (Coverity).
+Nikolay Sivov (26):
+      msvcrt: Added _wcslwr_s implementation.
+      msvcrt: Added partially complete _wcsupr_s_l (without locale support).
+      msxml3: Trace ref counts for all dom objects.
+      msxml3: Properly update xmldoc refcounts on insertBefore().
+      msxml3: Implement get_nodeTypedValue() for nodes that can't have type.
+      msxml3: Implemented get_doctype() with basic tests.
+      msxml3: Merge obsolete interfaces tests in a single file.
+      msxml3: Fix some leaks in tests.
+      msxml3: Orphan a node removed with removeChild().
+      msxml3: Put together similar tests using tabled test data.
+      msvcrt: Add _get_output_format() and return default value.
+      msxml3: Some get_attributes() tests.
+      msxml3: Fix reference counting behaviour for named map.
+      msxml3: Move string conversion helper to header.
+      msxml3: Unlink node first before adding it as a child.
+      msxml3: Add IXMLDOMSelection stub.
+      msxml3: No need to zero memory on allocation.
+      msxml3: Protect SAX character callback from null node.
+      msxml3: Silence compile time warnings for dynamically loaded libxslt.
+      msxml3: Downgrade FIXME to TRACE for unsupported interfaces.
+      msvcrt: Add __daylight() call export.
+      msvcrt: Add _findfirst32() implementation.
+      msvcrt: Added _findnext32() implementation.
+      msxml3: Merge save() tests to a single function.
+      msxml3: Support VT_BSTR|VT_BYREF as source in load().
+      msxml3: Clean formatting chars before passing to base64 decoder.
 
-Peter Schellenbach (1):
-      oleaut32: Fixed short time & medium time named formats.
+Paul Vriens (5):
+      dxgi: Only cast to a void pointer (Coverity).
+      cabinet: Check correctly for the magic value (Coverity).
+      cabinet: Check correctly for the magic value (Coverity).
+      msi: Only call MSI_RecordGetString() when needed (Coverity).
+      msvfw32: Only call MSVIDEO_GetHicPtr() once (Coverity).
 
-Peter Urbanec (5):
-      gdi32: Fix 64-bit pointer issues when copying upside-down bitmaps.
-      comctl32: Use signed indices, so that the number of parts can be set to zero.
-      comctl32/tests: Enable statusbar tooltip tests.
-      comctl32: Add a check for setting number of parts in the statusbar to zero.
-      wintab32: Better handling of XInput initialisation errors.
+Peter Schellenbach (2):
+      oleaut32: Corrected registration flag inversion in RegisterActiveObject.
+      oleaut32: Fixed initial cyLogical value in IFont constructor. Fixed get_Size to return same value as Windows.
 
-Rafał Mużyło (1):
-      winealsa.drv: Drop redundant calls.
+Piotr Caban (12):
+      include: Added IBrowserService interface definition.
+      include: Added IDocObjectService interface definition.
+      mshtml: Added IHTMLPrivateWindow_GetAddressBarUrl implementation.
+      mshtml: Execute IDocObject_FireDocumentComplete in handle_load function.
+      include: Added IDockingWindow definition.
+      include: Added IBrowserService2 definition.
+      shdocvw: Added navigation error handling.
+      shdocvw: Added IShellBrowser interface stub.
+      shdocvw: Added IBrowserService interface stub.
+      shdocvw: Added IDocObjectService interface stub.
+      shdocvw: Use IID_IBrowserService2 defined in header.
+      shdocvw/tests: Added IShellBrowser, IBrowserService and IDocObjectService existence tests.
 
-Rico Schüller (28):
-      d3dcompiler: Parse reflection constant buffers.
-      d3dcompiler: Implement ID3D11ShaderReflection::GetConstantBufferByIndex().
-      d3dcompiler: Implement ID3D11ShaderReflection::GetConstantBufferByName().
-      d3dcompiler: Implement ID3D11ShaderReflectionConstantBuffer::GetDesc().
-      d3dcompiler: Parse reflection variables.
-      d3dcompiler: Parse reflection types.
-      d3dcompiler: Implement ID3D11ShaderReflectionConstantBuffer::GetVariableByIndex().
-      d3dcompiler: Implement ID3D11ShaderReflectionConstantBuffer::GetVariableByName().
-      d3dcompiler: Implement ID3D11ShaderReflectionVariable::GetDesc().
-      d3dcompiler: Implement ID3D11ShaderReflectionVariable::GetBuffer().
-      d3dcompiler: Implement ID3D11ShaderRefleflection::GetVariableByName().
-      d3dcompiler: Implement ID3D11ShaderReflectionType::GetDesc().
-      d3dcompiler: Implement ID3D11ShaderReflectionVariable::GetType().
-      d3dcompiler: Fix SystemValueType for pixelshader output signature.
-      d3dcompiler/tests: Add reflection ps output desc test.
-      d3dcompiler: Reorder section parsing to reflect the order from the shader blob.
-      d3dcompiler/tests: Add constant buffer test.
-      d3dcompiler/tests: Improve test_reflection_bound_resources().
-      d3dcompiler: Parse member types.
-      d3dcompiler: Implement ID3D11ShaderReflectionType::GetMemberTypeByIndex().
-      d3dcompiler: Implement ID3D11ShaderReflectionType::GetMemberTypeByName().
-      d3dcompiler: Implement ID3D11ShaderReflectionType::GetMemberTypeName().
-      d3dcompiler: Use defines for shader target masks.
-      d3dcompiler/tests: Add GetMemberType* tests.
-      d3dcompiler: Implement ID3D11ShaderReflectionType::IsEqual().
-      d3dcompiler: Move some code from header to source file.
-      d3dcompiler: Add debug helper for shader variable class.
-      d3dcompiler: Add debug helper for shader variable type.
+Rico Schüller (2):
+      include: Fix ID3DXBaseEffect interface.
+      d3dx9_36: Start effect parsing.
 
-Thomas Mullaly (1):
-      mshtml/tests: Make IDispatch Vtbl const.
+Roderick Colenbrander (2):
+      wined3d: Update Nvidia Geforce6+ driver version.
+      wined3d: Add latest Nvidia GPUs.
 
-Vincent Povirk (8):
-      msvcrt: Try to call CorExitProcess instead of ExitProcess on exit.
-      mscoree: Overhaul of mono runtime shutdown process.
-      mscoree: Always return S_FALSE from DllCanUnloadNow.
-      gdiplus: Test writes with conversion and without a user buffer.
-      gdiplus: Copy the bits on bitmap unlock if the write flag is set.
-      gdiplus: Don't copy bits into the buffer when a bitmap is locked write-only.
-      gdiplus: Copy only the area requested when (un)locking bitmaps.
-      gdiplus: Implement ImageLockModeUserInputBuf.
+Stefan Dösinger (8):
+      d3d8: Disallow z buffers smaller than the color buffer.
+      d3d8: Destroy the windows after the test.
+      d3d8: Use a proper window class for the device test.
+      d3d8: Test depth stencil size mismatches.
+      wined3d: Ignore clears when the framebuffer setup is broken.
+      wined3d: Check the framebuffer setup in ValidateDevice.
+      wined3d: Disable the depth stencil if it is smaller than the primary color buffer.
+      d3d9: Test depth stencil size mismatches.
 
-Wolfram Sang (3):
-      user32/tests: Modify proper fields instead of magic offsets.
-      user32: Make DIB_GetBitmapInfo checks stricter.
-      user32: Check bitmap info before it is used.
+Thomas Faber (2):
+      mshtml: Initialize OLEINPLACEFRAMEINFO.cb for IOleInPlaceSite::GetWindowContext.
+      shdocvw: Initialize OLEINPLACEFRAMEINFO.cb for IOleInPlaceSite::GetWindowContext.
+
+Thomas Mullaly (3):
+      mshtml/tests: Added more ConnectionPoint tests for IHTMLDocument.
+      mshtml: Correctly forward IHTMLWindow's IHTMLDocument's ConnectionPointContainer.
+      mshtml/tests: Fixed memory leak and made Vtbl's const.
+
+Vincent Povirk (22):
+      gdiplus: Fix a handle leak in GdipDrawString.
+      comctl32: Validate text entered in a datetime by the user.
+      gdiplus: Add tests for interpolation mode and make them pass.
+      gdiplus: Move ImageAttributes mapping into a helper function.
+      gdiplus: Read drawn bitmaps in one step instead of using getpixel.
+      gdiplus: Apply image attributes to bitmaps before resampling them.
+      gdiplus: Implement tiling wrap modes.
+      gdiplus: Move bitmap interpolation into a separate function.
+      gdiplus: Implement bilinear interpolation.
+      gdiplus: Don't use gdi32 to scale or draw from outside bitmaps.
+      gdiplus: Implement software rendering of texture brushes.
+      gdiplus: Prefer to not use gdi32 for gradient and texture brushes.
+      gdiplus: Remove gdi32 fallback for bitmaps from GdipFillRegion.
+      gdiplus: Call GdiAlphaBlend only once per GdipFillRegion call.
+      gdiplus: Add software implementation of GdipFillPath.
+      gdiplus: Use GdipFillPath to implement GdipFillEllipse.
+      gdiplus: Use GdipFillPath to implement GdipFillPie.
+      gdiplus: Use GdipFillPath to implement GdipFillPolygon.
+      gdiplus: Use GdipFillPath to implement GdipFillPolygonI.
+      gdiplus: Implement GdipFillRectangle based on GdipFillPath.
+      gdiplus: Remove the gdi32 line gradient drawing code.
+      gdiplus: Select the font into the appropriate hdc in GdipMeasureString.
+
+Łukasz Wojniłowicz (5):
+      inetcpl.cpl: Update Polish translation.
+      po: Update Polish translation.
+      po: Update Polish translation.
+      po: Update Polish translation.
+      inetcpl: Update Polish translation.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index 9301c24..5fc08d7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.3.15
+Wine version 1.3.16
diff --git a/configure b/configure
index 09cc4aa..ea86547 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.67 for Wine 1.3.15.
+# Generated by GNU Autoconf 2.67 for Wine 1.3.16.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -552,8 +552,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.3.15'
-PACKAGE_STRING='Wine 1.3.15'
+PACKAGE_VERSION='1.3.16'
+PACKAGE_STRING='Wine 1.3.16'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1374,7 +1374,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.15 to adapt to many kinds of systems.
+\`configure' configures Wine 1.3.16 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1443,7 +1443,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.3.15:";;
+     short | recursive ) echo "Configuration of Wine 1.3.16:";;
    esac
   cat <<\_ACEOF
 
@@ -1589,7 +1589,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.3.15
+Wine configure 1.3.16
 generated by GNU Autoconf 2.67
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2107,7 +2107,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.15, which was
+It was created by Wine $as_me 1.3.16, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   $ $0 $@
@@ -16114,7 +16114,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.15, which was
+This file was extended by Wine $as_me 1.3.16, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16185,7 +16185,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.15
+Wine config.status 1.3.16
 configured by $0, generated by GNU Autoconf 2.67,
   with options \\"\$ac_cs_config\\"
 
