diff --git a/ANNOUNCE b/ANNOUNCE
index 63eb116..73fa649 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,18 +1,17 @@
-The Wine development release 1.1.35 is now available.
+The Wine development release 1.1.36 is now available.
 
 What's new in this release (see below for details):
-  - Support for OLE transacted storage.
-  - Better certificate checking on secure connections.
-  - More progress on the 16-bit separation.
-  - Left 4 Dead 2 DRM really supported now.
-  - MSI performance improvements.
-  - 64-bit fixes in debugger support.
+  - Completion of the 16-bit separation.
+  - Improved Shader Model 4 support.
+  - A ton of memory leak fixes.
+  - Improved debugging support for MinGW.
+  - A number of MSHTML fixes.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.35.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-1.1.35.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.36.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.1.36.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -28,807 +27,711 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.1.35:
+Bugs fixed in 1.1.36:
 
-   5908  Ability Office 4 doesn't start up?
-   6930  TortoiseSVN fails to install
-   8394  IMVU 3D Instant Messenger not visible in wine's uninstaller
-   8895  Circuit Design Suite 10 fails to install
-   9535  WinPCap 4.0.1 installer does not run at all
-  10950  Colin McRae Rally 04: picture shifted down by ~1/4 of height
-  12014  Ability installer crashes in crypt32
-  12418  parent window getting closed instead of a tool window in KDE
-  13393  closing one virtual desktop closes other(s)
-  14378  Issues with maps and character portrait in Morrowind
-  14390  Gmax 1.2: Fatal Error on Install - Ended Prematurely.
-  14465  NdrClientCall2 is unaware of comm_status and fault_status variables
-  14536  FLSynthmaker crashes FL Studio
-  14995  wined3d regression results in broken rendering for Age of Empires II
-  15176  Assassin's Creed Install crashes
-  15278  ApexDC++ cannot connect to users
-  15624  poivy crashes
-  15638  Adobe Photoshop CS4 installer crashes on unimplemented GetProductInfo if run in Vista mode
-  15711  GetHostName and GetHostByName
-  15940  Ethnic Cleansing crashes: mpegsplit.c assertion
-  16244  Installer of Age of Empires 3 crashes
-  16299  IMVU 3D Instant Messenger installer crashes
-  17666  WinARM make crashes
-  17911  Gothic 3: Stripe on the right part of the screen is not updated in high resolutions
-  18120  No text in Qt-4.5.0 and later apps when winver >= 2000
-  18574  Win92 Radio Scanner does not start
-  18648  Error unimplemented function snmpapi.dll on start bginfo program
-  18753  wineboot --shutdown does not close running programs
-  18786  Minitab doesn't run anymore
-  19483  crash when launching zattoo
-  19802  SiSoftware Sandra 2009.SP4 unhandled exception
-  19898  WinMX: crashes instantly upon start
-  20013  Exchange Server 2007 fails to start
-  20224  dlls/d3dx9_36/tests/math.C: Test failed: Expected matrix
-  20281  Adobe Photoshop CS4 installer unusable
-  20397  Eclipse (Europa) Welcome window is empty
-  20492  Adobe CS4 installer hangs in memory and has to be killed
-  20522  Graphic Glitcheson Game Maker games
-  20653  Warcraft 3 freezes after successful login into Battle.net
-  20684  Memory leak in CryptGenKey/CryptDestroyKey?
-  20727  Characters in Sacred Underworld invisible
-  20742  Sorted list view control always inserts at the end
-  20806  Civilization II crashes on startup
-  20823  Trackmania Nations Forever: really loud crackling / no sound
-  20850  Write buffer overflow in WidenPath()
-  20851  Read buffer overflow in CombineRgn, triggered by user32 and imm32 tests
-  20898  Rayman 2: wine does not render "transparent color"
-  20913  Multiple games crash on start
-  20920  Read buffer overflow in StorageImpl_Construct in many msi tests
-  20923  Crash in mshtml/tests/events.c when run under valgrind
-  20941  3DMark 2001SE crash on start
-  20943  Red Alert 3 fails to start
-  20944  Civilization IV Beyond the Sword crashes after the loading splash screen.
-  20949  Native d3dx9_27.dll causes crash on save load
-  20960  Textures missing in demoscene's demo fr-041_debris
-  20963  CIV4(BTS)/steam crashes at launch after upgrade wine1.2 1.1.33-0ubuntu1~ppa1 to 1.1.34-0ubuntu1
-  20978  Quicktime 7.1.6.200 installer fails
-  20991  EnumRfc1766_create return values
-  20992  Invalid free in oleaut32 / vartype tests in test_VarBstrFromDate
-  20995  Crysis Demo does not start
-  20999  installations that were fast in 1.1.34 are very slow now due to ole32 storage changes
-  21021  F1 Challenge 2007 crash
-  21044  Platform SDK 2003 install fails?
-  21045  Memory leak in SECUR32_addPackages
+   2332  16-bit application (WinLED) fails due to regression in NE-module handling
+   5278  Edit control redraws its background incorrectly in 16-bit app
+   5688  d3d9, wow and ATI 9550, FPS is 10 times slower than opengl
+   6963  Lineage II fails to load
+   7669  Splash dialog hides error dialog, Eudora v4.2 & 5.1
+   7708  xwall doesn't install
+   7853  GetSystemDirectory returns wrong directory to 16-bit apps
+   9422  Visio 2003 failing with the message "iopl not enabled"
+   9810  wined3d calls GDI and USER functions inside ENTER_GL/LEAVE_GL
+   9864  RipIt4Me: no longer able to load IFOs
+  10038  Goldvarb X: Unable to select text, insert and delete lines
+  10039  F.E.A.R. Perseus Mandate demo fails to launch
+  10408  Shanghai Alice games:  text background doesn't alpha
+  10642  Gothic crashes on startup: err:msvcrt:symbol_demangle Unknown operator: _R
+  11415  Word 2000 VBA editor and macros errors
+  11788  Icewind Dale crashes when starting
+  12876  uTorrent 1.7.7 exited (or minimized) to tray err's
+  12929  Games crash/wined3d doesn't work with ATI's fglrx driver
+  12939  Selection using control key and mouse button does not work
+  13305  OpenGL DirectDrawRenderer renders black screen only
+  13352  Microsoft Office 2003: option to 'Install entire feature' is not available when custom install is used
+  13692  failed to crosscompile icmp.dll (dogfood)
+  13908  Office 2003 fails to set icons
+  13983  Acclaim Entertainment Re-Volt PC Game: Audio Drivers and some Direct3d issues
+  13986  Hitman: Codename 47 b192 crashes when starting a level
+  14168  visual studio 2005 installer too slow, msi O(n^2) behavior?
+  14702  can't click buttons with mouse in Army Builder 3.1c
+  14765  Vampire: The Masquerade - Bloodlines (from Steam) does not start
+  14806  Devil May Cry 4 Does not Load/Initilize
+  14918  Cspy: Comboboxex flicker
+  15000  Fallout Tactics reports fatal error
+  15005  Touhou 11 doesn't fill the window in >640x480 modes
+  15120  EVE Online: Only shows a black screen
+  15526  PhotoImpact hangs when editing text
+  15753  Outcall doesn't run in Wine
+  16016  Command and Conquer 3: crashes at startup
+  16283  Graphmatica crashes
+  16441  EVE-Online does not display lighting textures properly
+  16630  Paint.NET 3.36 installer does not show any content in window with Mono 2.0
+  16774  Voyage Century crashes on startup in mshtml
+  16963  Winzip 11: crashes at startup
+  17114  Cannot save Excel 2003 Spreadsheet
+  17131  NtQueryObject needs to handle ObjectNameInformation information class (iMesh 8.0)
+  17144  Rise of Nations Unhandled Exception
+  17286  Shaiya crashes when talking to an NPC
+  17617  MZ-WinTranslator: exits with an error message
+  17672  Wine denies access to Oracle Client install folder
+  17756  python 3.0.1's ctypes test fails
+  18093  Race Driver GRID: Game renders badly with resolution higher than 800x600
+  18145  FillRect: Undocumented feature
+  18333  Chessbase 10 - no board & pieces drawn - gdiplus bugs
+  18336  HOMEDRIVE and HOMEPATH not set
+  18769  Meta Editor (metatrader) won't compile
+  18936  Windows Live Messanger 8.5 crashes when receiving new message
+  19218  lastchaos crashes after changing the resolution
+  19430  winedump: null pointer dereference in spec mode
+  19781  Visual C++ 2005 Express: -Zi option doesn't work; breaks Firefox build's configure script
+  19846  WinCVS update/commit fails with error [80090301]
+  19990  World of Warcraft installer crashes
+  20050  Program installing correctly, but not running
+  20144  Powerpoint 2007 - hyperlinks don't work
+  20479  Using HW-acceleration for NHL 99 corrupts the screen and crashes the game
+  20643  World of Warcraft launcher tries to change folder permissions (Not a Wine bug)
+  20654  Memory leak in RtlGetFullPathName_U (found by chromium unit_tests)
+  20683  Winetest fails when creating Window Group or Startup
+  20731  Crash for Winterm
+  20840  Read buffer overflow in RtlValidAcl?
+  20856  There's no avatar when using fbo in Civilization IV Demo
+  20858  Left 4 Dead 2 will not start
+  20862  Write buffer overrun in VARIANT_UserUnmarshal?
+  20863  Write buffer overrun and heap corruption in Widget_DoSomething in oleaut32/tests/tmarshal.c
+  20901  Wine Command Prompt doesn't recognize 2 SET commands
+  20933  Emperor Rise Of the Middele Kingdom fails to start
+  20953  Does not work windows nt domain authentication in Radmin Viewer
+  21025  Some games do not receive keybord input or mouse input or hangs
+  21033  8BallClub requires GdipIsVisibleClipEmpty implementation
+  21063  16 bit apps won't start
+  21064  supreme commander crashes on skirmish or multiplayer
+  21065  Up-Down Controls appearance is broken
+  21069  16 bit apps crashes on exit
+  21071  Word 2000 & 2003 cannot open normal.dot or save any files
+  21086  Bug in SearchPath when filename supplied but null
+  21087  Civilization 2 crashes during installation
+  21089  MIDAS application (SamoTourAgent) fails to connect to server
+  21092  Call of duty4 modern warfare doesnt receive correct mouse input
+  21104  16-bit app crashes in X11DRV_XRender_CopyBrush when using vncserver
+  21122  Closing 16 bit application crashes
+  21134  Delphi 5 quickreport preview doesn't work
+  21141  Notepad++ crashes on startup
+  21191  Installation of Hälge crashes
+  21196  Sound in Max Payne not working
+  21229  msiexec don't work with /package argument
+  21260  Memory leak in comctl32/listview
 
 ----------------------------------------------------------------
 
-Changes since 1.1.34:
+Changes since 1.1.35:
 
-Alexander Nicolaysen Sørnes (4):
-      appwiz.cpl: Update Norwegian Bokmål translation.
-      winecfg: Update Norwegian Bokmål translation.
-      oleacc: Add Norwegian Bokmål translation.
-      winedbg: Add Norwegian Bokmål translation.
+Aaron Brazener (2):
+      wined3d: Added ATI Radeon HD 5xxx detection.
+      wined3d: Added further Nvidia Geforce 8xxx detection.
 
-Alexandre Julliard (91):
-      wineps.drv: Add a wrapper function for WriteSpool16.
-      wineps.drv: Duplicate the print job support from 16-bit GDI.
-      wineps.drv: Don't include 16-bit headers in psdrv.h.
-      gdi32: Stop exporting the 16-bit print job functions.
-      gdi32: Make gdi.exe into a stand-alone 16-bit module.
-      gdi32: Don't include wingdi16.h by default.
-      gdi32: Avoid use of some 16-bit types.
-      aclocal.m4: Perform a more exhaustive search of the possible naming combinations for Mingw tools.
-      ntdll: Get rid of a line break in a trace.
-      server: Improve parameter checks when opening a directory.
-      ntdll/tests: Add tests for open directories with NtCreateFile and strange options.
+Alexander Kochetkov (1):
+      ole32/storage32: Fix return value for invalid access mode in OpenStream.
+
+Alexandre Julliard (128):
+      setupx: Pass 0 as instance to InstallHinfSectionA.
+      shell32: Use the module instance instead of that of the owner window for the about dialog.
+      comctl32: Use the module instance instead of that of the owner window for the toolbar configuration dialog.
+      user32: Send all CreateWindow calls through the WoW wrapper to allow mapping 16-bit instances.
+      user32: Support calling a 32-bit procedure even without a corresponding thunk in CallWindowProc16.
+      user32: Fix the string style check for comboboxes.
+      user32: Use CreateIconIndirect to implement CreateCursor.
+      user32: Reimplement CopyIcon16/CopyCursor16 using CreateCursorIconIndirect16.
+      user32: Get rid of the CURSORICON_Copy internal function.
+      user32: Move a number of 16-bit cursor/icon functions to user16.c.
+      user32: Always return the actual pointer instead of a winproc handle in WINPROC_GetProc16.
+      user32: Reimplement loading of 16-bit cursors and icons using 16-bit resource functions.
+      user32: Move freeing of a 16-bit module's icons to user16.c.
+      user32: Move freeing of a 16-bit module's classes to wnd16.c.
+      kernel32: Load the DestroyIcon32 function from 16-bit user.exe.
+      user32: Move DestroyIcon32 implementation to user16.c.
+      user32: Reimplement MapWindowPoints16 and move it to wnd16.c.
+      user32: Avoid including winuser16.h in 32-bit files.
+      user32: Delay creation of the 16-bit dialog info structure until the window is created.
+      user32: Get rid of the 16-bit dialog heap.
+      user32: Reimplement MENU_FindSubMenu on the 16-bit side using only exported functions.
+      user32: Add wrapper functions for manipulation of cursor/icon handles.
+      user32: Call the cursor/icon handle allocation functions through the WoW handlers table.
+      user32: Don't assume global handles in CopyIcon.
+      user32: Allocate user handles for cursors/icons when we don't have 16-bit support.
+      user32: Don't cache 16-bit instance resources on the 32-bit side.
+      user32: Get rid of support for extracting icons from builtin dlls.
+      user32: Avoid accessing the window structure directly in DispatchMessage16.
+      user32: Avoid accessing the window structure directly in Get/SetWindowLong16.
+      kernel32/tests: Get rid of API function typedefs.
+      kernel32/tests: Fix the SetThreadIdealProcessor for WoW64.
+      user32/tests: Fix some last error checks for WoW64.
+      shlwapi/tests: Remove empty traces.
+      shell32/tests: Fix the system directory test for old WoW64 platforms.
+      user32: Reimplement 16-bit clipboard functions on top of the 32-bit ones.
+      user32: Get rid of 16-bit handles in the driver clipboard interface.
+      user32: Make HOOK_IsHooked function static.
+      user32: Don't store the 16-bit hook info in the 32-bit thread queue structure.
+      user32: Duplicate DIALOG_Enable/DisableOwner implementation on the 16-bit side.
+      user32: Export DIALOG_get_info and DIALOG_DoDialogBox through the WoW handlers.
+      user32: Export the WIN_GetFullHandle function through the WoW handlers.
+      user32: Remove some redundant 16-bit message traces.
+      user32: Replace spy functions by a simple trace in 16-bit code.
+      user32: Remove remaining calls to internal 32-bit functions from msg16.c.
+      user32: Move a few 16-bit stubs to user16.c.
+      user32: Remove the no longer used WIN_ISWIN32 flag.
+      user32: Remove the no longer needed WIN_ISDIALOG flag.
+      user32: Add a WoW wrapper for message waiting to allow releasing the Win16 lock in the 16-bit code.
+      user32: Use the wait message handler for the yield in PeekMessageW too.
+      user32: Make user.exe into a stand-alone 16-bit module.
+      winhttp: Fix pointer cast warnings on 64-bit.
+      wininet: Fix pointer cast warnings on 64-bit.
+      winmm: Avoid using ReleaseThunkLock from 32-bit code.
+      winex11: Only check for fs register corruption on i386.
+      gdi32: Use a standard critical section instead of a syslevel for the GDI lock.
+      user32: Use a standard critical section instead of a syslevel for the USER lock.
+      include: Move undocumented Win9x function definitions to winbase16.h.
+      user32: Move handling of listbox sizes for Win 3.1 apps to the 16-bit code.
+      user32: Don't pass the 16-bit instance through to 32-bit MessageBoxIndirectA.
+      configure: Re-generate with autoconf 2.65.
+      comdlg32: Store the open file name A structure directly instead of using a private pointer.
+      comdlg32: Get rid of the 16-bit callback support.
+      comdlg32: Don't use the instance of the owner window for dialog boxes.
+      shell32: Don't use the instance of the owner window for the autocomplete listbox.
+      kernel32: Make GMEM_DDESHARE blocks owned by the calling module.
+      wordpad: Use the main module instance instead of getting it from the window.
+      ole2: Reimplement OleMetafilePictFromIconAndLabel16 on top of the 32-bit version.
+      kernel32: Handle the case where the 16-bit module is already loaded also for separated dlls.
+      winevdm: Move the loading of the system drivers into their specific 16-bit module.
+      user32: Load the 32-bit user.exe module wrapper from the 32-bit side.
+      gdi32: Load the 32-bit gdi.exe module wrapper from the 32-bit side.
+      user32: Move loading of static icons for 16-bit windows to the 16-bit wrapper.
+      user.exe: Reimplement LoadImage16 for bitmaps instead of calling LoadImageA directly.
+      user.exe: Reimplement CopyImage16 for cursors and icons.
+      version: Get rid of the 16-bit library loading code for builtins.
+      kernel32: Don't store the current codepage in the thread data.
+      kernel32: Link directly to the thunk functions instead of looking up their entry point.
+      kernel32: Move the kernel thread data definitions to kernel16_private.h.
+      kernel32: Don't include kernel_private.h in 16-bit files.
+      kernel32: Get rid of the support for 16-bit resources in 32-bit resource functions.
+      winebuild: Don't check variables for undefined exports.
+      winebuild: Allow optional keywords to be in any order in a .def file.
+      winebuild: Support for adding 32-bit exports in 16-bit spec files.
+      winebuild: Always initialize the dll name at startup.
+      winebuild: Add support for generating import libs for 16-bit dlls.
+      winebuild: Simplify the code for finding the various build tools.
+      winebuild: Recognize mingw32 as a Windows platform.
+      winebuild: Add support for building Windows import libraries.
+      winebuild: Don't output private symbols at all when building an import library.
+      makefiles: Use winebuild to create the Windows import libraries.
+      user.exe: Prepend a valid bitmap header when copying a bitmap resource to a file.
+      kernel32: Do not include 16-bit headers in 32-bit files.
+      shell32: Move the RunDLL_CallEntry16 implementation to shell.dll.
+      kernel32: Make krnl386.exe into a stand-alone 16-bit module.
+      winedos: Move 16-bit VxD support back into kernel.
+      makefiles: Get rid of all the rules for building old style 16-bit files.
+      kernel: Add an import lib for krnl386, and stop importing 16-bit functions from kernel32.
+      kernel: Get rid of support for loading old style 16-bit files.
+      winebuild: Get rid of the support for building old style 16-bit modules.
+      ntdll: Move the LDT locking functions to the i386-specific code.
+      libwine: Do not export any of the LDT support on non-i386 platforms.
+      ntoskrnl: Duplicate the necessary part of instruction emulation to avoid importing kernel.
+      msi: Fix some pointer cast warnings on 64-bit.
+      dsound: Fix an invalid pointer cast.
       ole32: Fix some pointer cast warnings on 64-bit.
-      uxtheme: Fix some pointer cast warnings on 64-bit.
-      d3d8/tests: Fix some pointer cast warnings on 64-bit.
-      d3d9/tests: Fix some pointer cast warnings on 64-bit.
-      msvcrt/tests: Fix the signal handler calling convention.
-      crypt32/tests: Avoid size_t in traces.
-      shlwapi/tests: Avoid size_t in traces.
-      ntdll/tests: Avoid size_t in traces.
-      winex11: Fix a compiler warning.
-      winedbg: Use the explicit name for all A/W function.
-      cmd: Use the explicit name for all A/W function.
-      net: Use the explicit name for all A/W function.
-      clock: Convert to Unicode.
-      ntdll: Search the whole filesystem under the starting directory when opening files by id.
-      winedbg: Fix a number of 64-bit pointer truncation issues.
-      dbghelp: Moved addr_to_linear() to stack.c.
-      dbghelp: Fix an invalid pointer cast.
-      include: Remove useless definitions for nonexistent Win16 messages.
-      server: Simplify computation of file modes from the security descriptor.
-      msi/tests: Fix a handle leak.
-      user32: Add a thunking mechanism for 16-bit edit word break procedures.
-      user32: Split the code that deals with the 16-bit edit buffer handle to separate functions.
-      user32: Store the 16-bit edit handle directly in the window extra bytes.
-      user32: Split the handling of the 16-bit messages out of the edit winproc.
-      user32: Split the handling of the 16-bit messages out of the button winproc.
-      user32: Split the handling of the 16-bit messages out of the combo winproc.
-      user32: Split the handling of the 16-bit messages out of the listbox winproc.
-      user32: Split the handling of the 16-bit messages out of the scrollbar winproc.
-      user32: Split the handling of the 16-bit messages out of the static winproc.
-      user32: Move SystemParametersInfo16 to user16.c.
-      user32: Remove the no longer used WINPROC_CallDlgProc16 function.
-      user32: Move Get/SetWindowLong16 implementation to wnd16.c.
-      gdiplus/tests: Fix parentheses in the expect() macro.
-      winex11: Make GetKeyboardLayoutName() use the same default layout as GetKeyboardLayout().
-      user32: Return failure in WaitForInputIdle if we can't open the idle event.
-      user32/tests: Add a number of tests for WaitForInputIdle.
-      user32: Implement UserRegisterWowHandlers function and add a handler for the button winproc.
-      user32: Turn the combobox winproc into a Wow handler.
-      user32: Turn the listbox winproc into a Wow handler.
-      user32: Turn the edit winproc into a Wow handler.
-      user32: Turn the scrollbar winproc into a Wow handler.
-      user32: Turn the static winproc into a Wow handler.
-      user32: Add 16-bit translation for parameters of the WM_H/VSCROLL edit messages.
-      user32: Move more 16-bit winproc functions inside the i386 ifdef.
-      user32: Store the 16-bit winproc in a different array from the 32-bit A/W ones.
-      user32: Move 16-bit winproc functions to msg16.c.
-      user32: Move the 16-bit message mapping functions to msg16.c.
-      user32/tests: Fix a number of message test failures on various Windows boxes.
-      user32: Add a Wow handler for the mdi client class.
-      user32/tests: Always reset events when starting a WaitForInputIdle test.
-      server: Don't set the idle event when a queue is destroyed, instead return success in WaitForInputIdle on process exit.
-      server: Don't reset the idle event when the client stops waiting.
-      server: Any thread can set the idle event, don't treat the first one differently.
-      server: Don't set the idle event when waiting for a message reply.
-      server: Set the idle event when retrieving a timer message.
-      user32: Pre-allocate the window procedure for the button class.
-      user32: Pre-allocate the window procedure for the combobox class.
-      user32: Pre-allocate the window procedure for the edit class.
-      user32: Get rid of the EDIT_winproc_handle variable.
-      user32: Pre-allocate the window procedure for the listbox class.
-      user32: Pre-allocate the window procedure for the scrollbar class.
-      user32: Pre-allocate the window procedure for the static class.
-      user32: Pre-allocate the window procedure for the dialog class.
-      user32: Pre-allocate the window procedure for the MDI client class.
-      user32: Pre-allocate the window procedure for DefWindowProc.
-      mapi32: Fix a heap buffer overflow.
-      user32: Move 16-bit instance normalization to CreateWindowEx16.
-      user32: Move loading of the 16-bit window menu to CreateWindowEx16.
-      user32: Use W structures in window creation code.
-      user32: Move 16-bit window creation functions to 16-bit files.
-      user32: Move the 16-bit menu functions to user16.c.
-      user32: Move EnumProps16 to wnd16.c.
-      user32: Pre-allocate the window procedure for the desktop class.
-      user32: Pre-allocate the window procedure for the icon title class.
-      user32: Pre-allocate the window procedure for the menu class.
-      user32: Pre-allocate the window procedure for the message class.
-      user32: Simplify window procedure allocation for the builtin classes.
-      user32: Make WINPROC_AllocProc take a unicode flag for consistency with the other winproc functions.
-      user32: Move wsprintf16 to user16.c.
-      progman: Don't try to access the internals of an icon object.
+      wrc: Merge the dialog and dialogex structures.
+      wrc: Merge the menuitem and menuitemex structures.
+      wrc: Merge the menu and menuex structures.
+      wpp: Reset the line position when parsing a new file.
+      winedos: Internal functions don't need to be WINAPI.
+      winedos: Merge the XMS handler into int31.c.
+      winedos: Merge the UMB management into dosvm.c.
+      winedos: Merge the parallel port device I/O handling into ioports.c.
+      winedos: Remove some obsolete comments.
+      winedos: Merge the few definitions from dosvm.h into dosexe.h.
+      Update copyright info for 2010.
+      winex11: Don't process ConfigureNotify events that have been superseded by a later configure request.
+      winedos: Link to DirectDrawCreate through delayed imports instead of doing it by hand.
+      winedos: Link to DirectSoundCreate through delayed imports instead of doing it by hand.
+      shell: Convert the about icon to 32-bit explicitly instead of casting the handle.
+      ole2: Convert the icon for OleMetafilePictFromIconAndLabel to 32-bit explicitly instead of casting the handle.
+      winedos: Merge all of winedos back into krnl386.
+      kernel: Stop exporting some 16-bit functions that are no longer used outside of kernel.
+      user32: Remove a useless comment.
+      server: Don't dump more than 1024 bytes in a trace.
+      server: Add support for returning the object name in NtQueryObject.
+      ntdll: Return a correct name also for file objects in NtQueryObject.
+      ntdll: Don't require read access to the root directory for normal opens, similarly to the open by id case.
 
-Alistair Leslie-Hughes (2):
-      shdocvw: Fix test for non-english IE MUI.
-      mshtml: Implement IHTMLImgElement get_Name.
+Alistair Leslie-Hughes (5):
+      mshtml: Add stub interface IHTMLFiltersCollection.
+      mshtml: Implement IHTMLDocument2 get/put onmouseup.
+      mshtml: Implement IHTMLDocument2 get/put onmousedown.
+      mshtml: Implement IHTMLDocument2 get/put onmouseout.
+      gdiplus: Implement GdipIsVisibleClipEmpty.
 
-Amine Khaldi (6):
-      crypt32: Remove unneeded assignments.
-      crypt32: Remove an unneeded assignment.
-      cryptdlg: Remove an unused variable.
-      inetcomm: Remove an unneeded variable.
-      mciseq: Remove unneeded assignments.
-      mapi32: Remove an unneeded assignment.
+Andrew Eikum (9):
+      hlink: Add tests and fix error handling in IHlink::{Get, Set}StringReference.
+      hlink: Add partial implementation of IHlinkBrowseContext::GetHlink.
+      hlink: Add tests for IHlinkBrowseContext::SetInitialHlink.
+      hlink/tests: Repair test to work as intended.
+      hlink: String target reference is actually moniker target's display name.
+      hlink: Fix copy-paste typo.
+      hlink/tests: Fix some memory leaks (valgrind).
+      msi: Implement recursive INSTALLSTATE updates for msi treeview selector.
+      ole32: Downgrade StgIsStorageFile debug info from WARN to TRACE.
 
-Andrew Eikum (5):
-      mshtml: Store ns[i]frame reference in HTMLFrameBase.
-      mshtml: Implement IHTMLFrameBase::{get,put}_scrolling.
-      mshtml: Implement IHTMLWindow2::{get,put}_onresize.
-      mshtml: Implement IHTMLFrameBase::get_name.
-      mshtml: Search content_window's properties in HTML[I]FrameBase::get_dispid.
+Andrew Nguyen (14):
+      setupapi: Implement SetupDiOpenDeviceInfoA/W as stubs.
+      dxdiagn: Make the IDxDiag* interfaces conform to the IUnknown::QueryInterface contract.
+      dxdiagn: Fail class instantiation if aggregation is requested.
+      dxdiagn: Add tests for IDxDiagProvider.
+      dxdiagn: Fix a return value and avoid validating the input parameter for IDxDiagProviderImpl::GetContainer.
+      dxdiagn: Validate the dwDxDiagHeaderVersion member in IDxDiagProvider::Initialize.
+      cfgmgr32: Forward more functions to setupapi.
+      ntdll: Use the HKCU\Volatile Environment key when generating the initial process environment.
+      kernel32: Ignore empty environment values from registry.
+      wineboot: Generate the HKCU\Volatile Environment registry key.
+      gdi32: Fix a typo in ScaleViewportExtEx.
+      wine.inf: Add PATHEXT system environment variable.
+      cmd: Set the PROMPT environment variable on startup.
+      wine.inf: Add CommonProgramFiles system environment variable.
 
-Andrew Nguyen (2):
-      dxdiagn: Initialize a structure size member before calling EnumDisplayDevicesW.
-      clusapi: Don't trace the contents of output pointers.
+André Hentschel (10):
+      dbghelp: Implement literal dwarf opcodes.
+      include: Do not separate control names.
+      winetest: Fix a cast.
+      kernel32/nls: Fix German translation.
+      winedump: Fix sym mode.
+      dbghelp: Fix a typo.
+      comctl32: Improve German translation.
+      winedbg: Update link.
+      dbghelp: Fix typo in url.
+      msi/tests: Remove dead url.
 
-André Hentschel (4):
-      xcopy: Fix time acronyms in German translation.
-      gdi32/tests: Also test non-style suffix.
-      msvcrtd: Remove unnecessary trace output.
-      mapi32: Add German resource.
+Austin English (1):
+      cmd: Use DOS newlines, not UNIX.
 
-Aric Stewart (9):
-      mpr: Initialize handle to NULL on ERROR_NO_NETWORK case in WNetOpenEnum.
-      shlwapi: Rename ConnectToConnectionPoint bAdviseOnly to fConnect as MSDN.
-      shlwapi: Failure in IConnectionPoint_GetConnectionInterface does not prevent Invoking.
-      shlwapi: DISPPARAMS on Invoke are never NULL.
-      shlwapi: Release rgcd.pUnk returned by enumeration.
-      shlwapi/tests: Testing framework and IConnection point tests.
-      shlwapi: Ordinal 196 is SHVerbExistsNA not DnsRecordSetCompare.
-      shlwapi: Beginning implementation of IUnknown_QueryServiceForWebBrowserApp.
-      shlwapi: Implement SHPropertyBag_ReadLONG.
+Christian Costa (9):
+      ddraw: Improve error message.
+      drmclien: Add stub for DllRegisterServer.
+      mciqtz: Add stub for MCI_SETAUDIO.
+      mciqtz: Improve MCIQTZ_mciSet traces.
+      d3dxof: Get rid of cur_subobject.
+      d3dxof: Enable referencing objects defined in current top-level object.
+      d3drm: Add stub for Direct3DRMCreate.
+      d3drm: Add some definitions.
+      d3drm: Implement stubbed IDirect3DRM interface.
 
-Aurimas Fišeras (1):
-      mapi32: Add Lithunian translation.
+Dan Kegel (2):
+      cmd: Echoed prompts are preceded by a blank line.
+      cmd: Fix echoing of multiline commands.
 
-Ben Peddell (1):
-      server: Include user groups in file mode calculation when user is file owner.
+David Adam (2):
+      d3dx9/tests: 1 must be a float.
+      dmloader: Fix a possible null dereference.
 
-Chris Schafer (1):
-      msi/tests: Remove some barriers to running msi tests in parallel.
+Detlef Riekenberg (5):
+      mstask/tests: Skip some tests when the service is not running.
+      user32: Move a comment about HLOCAL16 to user.exe.
+      krnl386: The 16bit system directory is <windir>\SYSTEM.
+      comdlg32: Remove unused code for the Button psh1.
+      mlang: Print a FIXME only for unused parameter.
 
-David Adam (1):
-      d3dx9/tests: Check a relative error instead of an absolute error.
+Dmitry Timoshkov (1):
+      user32: Handle virtual key codes only in the WM_KEYDOWN case.
 
-Eric Pouech (25):
-      winedump: Rewrote a bit the COFF symbol table stuff.
-      winedump: Dump PE symbols table if any.
-      dbghelp: For mingw32 (stabs debug info), parse the FileHeader's symbol table to offset properly the global variables.
-      dbghelp: Make the module enumeration process compatible with 64bit platforms.
-      dbghelp: Fix a couple of casts on 64bit platforms.
-      dbghelp: Rewrote the SymRegisterCallback function so that they work on a 64bit platform.
-      dbghelp: Add ELF support but for the current 32 vs 64 bit architecture.
-      dbghelp: Don't return error when validating a 64bit wide address on a 64bit platform.
-      dbghelp: Enforce using 64bit integers for module's address and size.
-      dbghelp: A couple of fixes for dwarf2 support on a 64bit platform.
-      winedbg: Enforce 64bit modules address on 64bit platforms.
-      winedbg: Ensure all addresses passed to break functions are 64bit wide.
-      dbghelp: Force 64bit module enumeration on all platforms.
-      winedbg: Added a couple of tweaks to properly support 32bit vs 64bit wide addresses.
-      winedbg: For the x86_64 backend, fetch all the integral types.
-      winedbg: Force 64bit line number information throughout the code to ease 64bit portability.
-      winedbg: Fix some types for homogenous support on 64bit platform.
-      winedbg: Allow internal (host) integral variables to hold 64bit value on 64bit platforms.
-      winedbg: Added 'a' to the format supported in examine command (a stands for address).
-      dbghelp: Fix module on which GetTypeFromName is done.
-      dbghelp: Wrap the symt* <=> index transformations.
-      dbghelp: Rewrite the symt* <=> index wrappers to that they work on 64bit platforms.
-      winedbg: Implement breakpoint management for x86_64 targets.
-      dbghelp: Fix symt_find_nearest so that it searches for 64bit addresses on 64bit platforms.
-      dbghelp: Move the core of some line related functions to 64bit interface.
+Eric Pouech (13):
+      winedbg: Push the correct machine type to StackWalk.
+      winedbg: Ensure the stack pointer is also passed to StackWalk.
+      winedbg: Fix for stack symbols on 64bit platform.
+      dbghelp: Rewrote stack_walk with 64 bit structures.
+      dbghelp: Generalize helper to get a string from an ADDRESS64.
+      dbghelp: Create a cpu backend to store CPU dependent code, and use it for the i386 stack implementation.
+      dbghelp: Hacked a StackWalk implementation for x86_64.
+      dbghelp: Add a couple of helpers to struct cpu to help adding the stack to minidump.
+      winedump: Add support for long section names (at least used by MinGW).
+      dbghelp: Add support for loading dwarf debug information out of PE images.
+      winedump: Manage the string table size in PE file format.
+      dbghelp: Silence a couple of FIXMEs for C++ code.
+      winedbg: In "info threads" commands, also show the name of the processes even if not debugged.
 
-Eric van Beurden (2):
-      dbghelp: Fix a minidump crash by using the correct variable.
-      usp10: Change the header includes to pull in 'windows.h' instead of the component headers.
+Frédéric Delanoy (1):
+      mapi32: Add French translation.
 
-Erich Hoover (3):
-      ws2_32: Separate out hostent creation from duplication.
-      ws2_32: Return the full list of local IP addresses when gethostbyname() is called on the local hostname.
-      ws2_32: Fix allocating a hostent with no h_aliases list.
+Gerald Pfeifer (8):
+      winedbg: Use #elif defined(...) instead of plain #elif when detecting architectures in dbg_start_interactive().
+      ntdll: Use #ifdef instead of #if to check for _DARWIN_FEATURE_64_BIT_INODE.
+      winedbg: Use #elif defined(...) instead of plain #elif in main().
+      comctl32: Remove obsolete comment on RB_SETPALETTE from REBAR_WindowProc().
+      ntdll: Avoid one warning around assert(0).
+      wined3d: Introduce WINED3DFMT_INST and use it in CheckTextureCapability().
+      include: Move WINED3DTS_WORLD et al directly into _WINED3DTRANSFORMSTATETYPE.
+      configure: Sort WINE_TRY_CFLAGS entries alphabetically.
 
-Francois Gouget (8):
-      winhttp: Fix compilation on systems that don't support nameless unions.
-      mshtml/tests: Fix the get_event_src() macro declaration.
-      wined3d: Don't define nameless structs or unions.
-      crypt32/tests: Fix compilation on systems that don't support nameless unions.
-      winedbg: Use SUBLANG_NEUTRAL for Spanish.
-      shlwapi/tests: Make test_IConnectionPoint() static.
-      mshtml/tests: Make test_UIActivate() static.
-      oleaut32/tests: Make test_DispGetParam() static.
+Hans Leidekker (6):
+      secur32/tests: Fix a couple of memory leaks.
+      wininet: Always set last error in HttpSendRequest{,Ex}.
+      wininet: Free per-thread error info upon exit from an async procedure.
+      gdiplus: Implement GdipGet/SetStringFormatMeasurableCharacterRanges.
+      wininet: Avoid test failures on win9x.
+      wininet: Fix a memory leak.
 
-Gerald Pfeifer (1):
-      ntdll: Guard debugging code by #ifdef instead of plain #if.
+Henri Verbeet (60):
+      wined3d: NULL vertex declarations are captured, but not applied.
+      d3d8: Add a separate function for swapchain initialization.
+      d3d9: Add a separate function for swapchain initialization.
+      wined3d: Cleanup IWineD3DDeviceImpl_GetRasterStatus().
+      wined3d: IWineD3DClipperImpl implements IWineD3DBase.
+      wined3d: IWineD3DPaletteImpl implements IWineD3DBase.
+      d3d9/tests: A volume really isn't a resource, despite having all the methods.
+      wined3d: Volumes are resources in wined3d.
+      wined3d: Cleanup IWineD3DBaseSwapChainImpl_QueryInterface().
+      wined3d: Get rid of some redundant local variables.
+      wined3d: Filter messages for the device's focus window instead of the swapchain's device window.
+      wined3d: Focus the focus window.
+      d3d9/tests: Add some tests for focus behaviour.
+      d3d8/tests: Add some tests for focus behaviour.
+      wined3d: Use proper enum elements for FOURCC formats.
+      wined3d: Properly check for glBlitFramebuffer().
+      wined3d: Recognize "VMware, Inc." as VENDOR_MESA.
+      wined3d: Introduce "context_apply_state()" to setup a context for a specific usage.
+      wined3d: Let "FindContext()" figure out the thread id on its own.
+      wined3d: Let "SetupForBlit()" figure out the target's width and height on its own.
+      wined3d: Don't touch the window's focus or wndproc for windowed devices.
+      d3d8/tests: Add message tests for windowed devices.
+      d3d9/tests: Add message tests for windowed devices.
+      wined3d: Clear the device's focus_window field when the window is destroyed.
+      dxgi: Add a separate function for swapchain initialization.
+      wined3d: The FVF parameter to IWineD3DDeviceImpl_CreateVertexBuffer() is unused now.
+      wined3d: Remove some redundant returns.
+      ddraw: Remove a redundant return.
+      wined3d: Use the element size to create "isStateDirty" bitmap indices.
+      dxgi: Add a separate function for factory initialization.
+      wined3d: Merge pixelshader.c and vertexshader.c.
+      wined3d: Always handle WINED3DSPR_INPUT registers as input registers in shader_get_registers_used().
+      wined3d: Move shader input/output signatures to IWineD3DBaseShaderClass.
+      wined3d: Merge vertexshader_set_function() and pixelshader_set_function().
+      wined3d: Fix WINED3DRS_DEPTHBIAS handling.
+      wined3d: Move "wrap_lookup" to struct wined3d_gl_info.
+      wined3d: Add a geometry shader object.
+      d3d10core: Add a wined3d geoemtry shader to struct d3d10_geometry_shader.
+      wined3d: Add support for source and destination rectangles to swapchain_blit().
+      wined3d: Handle source and destination rectangles in IWineD3DSwapChainImpl_Present().
+      wined3d: Remove a few redundant context dereferences.
+      wined3d: Handle stateblock capture for default lights created while recording.
+      avifil32: Properly check the required buffer size in AVIFILE_ReadBlock().
+      avifil32: Just assign maxSize to This->cbBuffer in AVIFILE_ReadBlock().
+      avifil32: Don't leak the buffer on HeapReAlloc() failure in AVIFILE_ReadBlock().
+      avifil32: Always add the format change frame to the buffer in AVIFILE_AddFrame().
+      avifil32: Properly check the required buffer size in AVIFILE_AddFrame().
+      avifil32: Only modify the stream info after a succesful allocation in AVIFILE_AddFrame().
+      avifil32: Don't leak the buffer on HeapReAlloc() failure in AVIFILE_AddFrame().
+      avifil32: Don't leak the buffer on HeapReAlloc() failure in AVISaveOptionsFmtChoose().
+      wined3d: Recognize the SM4 ige opcode.
+      wined3d: Recognize the SM4 breakc opcode.
+      wined3d: Recognize the SM4 emit opcode.
+      wined3d: Recognize the SM4 iadd opcode.
+      wined3d: Recognize the SM4 lt opcode.
+      wined3d: Recognize the SM4 if opcode.
+      wined3d: Recognize the SM4 break opcode.
+      wined3d: Recognize the SM4 endif opcode.
+      wined3d: Recognize the SM4 endloop opcode.
+      wined3d: Recognize the SM4 cut opcode.
 
-Gregor Schneider (2):
-      mlang: Change EnumRfc1766_create return values to error codes.
-      xcopy: Remove unneeded assignment.
+Ilya Shpigor (1):
+      gdi32: Test for font creation with the OEM charset.
 
-Hans Leidekker (21):
-      wininet: Cleanup any existing cache file before creating a new one.
-      msi/tests: Loosen check on kernel32 language version.
-      usp10: Fix a memory leak.
-      userenv/tests: Fix some memory leaks.
-      fusion: Fix some memory leaks.
-      netapi32/tests: Fix a memory leak.
-      ntdll/tests: Fix a memory leak.
-      setupapi/tests: Fix a memory leak.
-      ntdll/tests: Fix a memory leak.
-      wininet/tests: Mark behavior of IE5 as broken for some ftp tests.
-      ntdll/tests: Free Unicode string before reuse.
-      gdi32: Implement WineEngGetCharABCWidthsFloat and forward GetCharABCWidthsFloat to it.
-      rpcrt4: Add tests for RPC calls with authentication.
-      rpcrt4: Avoid test failures on win9x.
-      msi: Reject greater than and less than string comparisons in WHERE clauses.
-      msi: Clone the open stream instead of trying to open a stream again.
-      msi: Replace the string table hash with a sorted index.
-      msi: Fix download of installer packages. Return errors from msi_download_file and copy_package_to_temp.
-      msi: Reset the ALLUSERS property from to 2 to 1.
-      msi: Avoid a crash in STREAMS_delete.
-      msi: Propagate errors from IStorage_OpenStream again in db_get_raw_stream.
+Jacek Caban (26):
+      jscript: Make undefined a property of global object.
+      mshtml: Don't use necko nsIHttpChannel in nsChannel implementation.
+      wininet: Return error directly from INTERNET_AsyncCall.
+      wininet: Don't use INTERNET_SetLastError in HttpSendRequestA.
+      wininet: Return error directly from HTTP_Connect.
+      wininet: Don't use INTERNET_SetLastError in InternetSetOptionW.
+      mshtml: Use JScript for JavaScript in res: protocol documents.
+      mshtml: Added JavaScript tests architecture and simple tests.
+      urlmon: Report BINDSTATUS_CONNECTING to download callback.
+      mshtml: Added better error handling to nscolor_to_str.
+      mshtml: Store known colors as RGB.
+      mshtml: Correctly parse color strings.
+      mshtml: Use nscolor_to_str in IHTMLBodyElement::get_text implementation.
+      mshtml: Added better default bgColor test and code clean up.
+      wininet: Test also InternetCrackUrlW in test_crack_url.
+      mshtml: Fixed nsIDOMNSHTMLElement declaration.
+      mshtml: Use FindMimeFromData to find MIME if moniker doesn't report it.
+      wininet: Fixed tests on older IEs.
+      jscript: Added a test using script dispatch after closing engine.
+      mshtml: Store ConnectionPointContainer pointer in ConnectionPoint.
+      mshtml: Make sure that event listeners of connection point are set.
+      mshtml: Don't try to wrap necko channel in nsChannel implementation.
+      mshtml: Use nsIDocShell to load a page in set_moniker.
+      mshtml: Store body event target in HTMLDocumentNode.
+      urlmon: Fixed accept_mimes freeing.
+      urlmon: Fixed accept_mimes leak in tests.
 
-Henri Verbeet (50):
-      d3d8: Fix GetDevice() for surfaces that are part of a texture.
-      d3d9: Fix GetDevice() for surfaces that are part of a texture.
-      dxgi: Add a separate function for surface initialization.
-      dxgi: Implement IDXGISurface::GetDevice().
-      dxgi: Implement IDXGISurface::GetParent().
-      wined3d: Pass the correct vertex count in DrawIndexedPrimitiveStrided().
-      wined3d: Rename the wined3d_adapter "num" field to "ordinal".
-      wined3d: Remove the redundant "adapterNo" field from the device.
-      wined3d: Rename the "wineD3D" device field to "wined3d".
-      dxgi: The "unknown0" parameter to DXGID3D10CreateDevice() is a pointer.
-      wined3d: Remove a few redundant assignments.
-      d3d8: Forward the volume's GetDevice() to the texture instead of the wined3d volume.
-      d3d9: Forward the volume's GetDevice() to the texture instead of the wined3d volume.
-      wined3d: Remove unused GetDevice() implementations.
-      wined3d: Only disable blending for offscreen targets.
-      ddraw: Avoid enumerating display modes for formats that arent't supported anyway.
-      wined3d: Don't restore the draw buffer in color_fill_fbo().
-      wined3d: Rename "wineD3DDevice" to "device".
-      wined3d: Support more formats for display mode enumeration.
-      dxgi: Implement IDXGIOutput::GetDisplayModeList().
-      wined3d: Properly invalidate the context's draw buffer in color_fill_fbo().
-      wined3d: Correctly calculate the extended style in IWineD3DDeviceImpl_RestoreWindow().
-      wined3d: Add a separate function for swapchain initialization.
-      wined3d: Move IWineD3DDeviceImpl_SetupFullscreenWindow() to swapchain.c.
-      wined3d: Move IWineD3DDeviceImpl_RestoreWindow() to swapchain.c.
-      d3d10core: Add a stub ID3D10Query implementation.
-      wined3d: Let the context handle the draw buffer in stretch_rect_fbo().
-      wined3d: Let the context handle the draw buffer in flush_to_framebuffer_drawpixels().
-      wined3d: Let the context handle the draw buffer in fb_copy_to_texture_hwstretch().
-      wined3d: Let the context handle the draw buffer in swapchain_blit().
-      wined3d: Send window messages through the swapchain before sending them to the application.
-      wined3d: Filter window messages generated by switching to fullscreen and back.
-      d3d9: Add a test to show D3D replaces the window proc.
-      d3d8: Add a test to show D3D replaces the window proc.
-      wined3d: Use surface_is_offscreen() in context_apply_draw_buffer().
-      wined3d: Use surface_is_offscreen() in fb_copy_to_texture_hwstretch().
-      wined3d: Use surface_is_offscreen() in read_from_framebuffer_texture().
-      wined3d: Use surface_is_offscreen() in flush_to_framebuffer_drawpixels().
-      wined3d: Get rid of the "swapchain" parameter to surface_get_gl_buffer().
-      wined3d: Mark the draw buffer as dirty in context_create().
-      ddraw/tests: Add tests for ddraw window proc handling.
-      wined3d: Change an ERR to a TRACE in IWineD3DEventQueryImpl_GetData().
-      wined3d: Change an ERR to a WARN in IWineD3DVolumeImpl_UnlockBox().
-      wined3d: Cleanup IWineD3DDeviceImpl_GetBackBuffer().
-      msi: Remove an unused field from the string table.
-      ddraw: Don't depend on IWineD3DDevice_CreateSurface() not touching the surface parameter on failure.
-      wined3d: Don't touch "ppSurface" on failure in IWineD3DDeviceImpl_CreateSurface().
-      wined3d: Add a function to destroy dummy textures.
-      wined3d: Add some error handling to create_primary_opengl_context().
-      wined3d: IWineD3DStateBlockImpl no longer implements IWineD3DBase.
+James Hawkins (7):
+      user32: Don't try to free a handle with a value of 1, which is the dde handle value for asynchronous operations.
+      advapi32: Fix a few memory leaks. Use the correct API to free SIDs (FreeSid).
+      advpack: Free the file list on any error.
+      cabinet: Fix several file list leaks in the extract tests.
+      wintrust: Fix a memory leak until our implementation is fixed.
+      browseui: Fix two memory leaks in the autocomplete tests.
+      setupapi: Refactor freeing the INF file into free_inf_file. Use this new function to free any remnants of the parsing on error.
 
-Huw Davies (35):
-      winhttp: Load X509_STORE_CTX_get_ex_data from libcrypto not libssl.
-      gdiplus: Fix a couple of memory leaks.
-      inetcomm: Fix memory leak.
-      oleaut32: Fix a couple of memory leaks in the tests.
-      oleaut32: Fix several memory leaks in tests.
-      ntdll: Fix a few memory leaks in tests.
-      setupapi: Fix memory leak.
-      xinput1_3: Don't print the contents of [out] parameters.
-      ntdll: Only free the string if the test succeeded.
-      msxml3: Correctly test the variant returned by get_nodeValue.
-      include: Add a few guids.
-      ole32: Release the error info strings.
-      oleaut32: Fix double-free in tests.
-      fusion: Fix a memory leak in the tests.
-      shdocvw: Fix a memory leak in the tests.
-      oleaut32: Fix a memory leak in the tests.
-      browseui: Fix several memory leaks in the tests.
-      gdiplus: Fix a memory leak.
-      riched20: Fix a memory leak.
-      gdiplus: Fix a memory leak in the tests.
-      gdiplus: Fix a memory leak in the tests.
-      gdiplus: Fix a memory leak in the tests.
-      riched20: Initialise the style flags.
-      oleaut32: Fix a memory leak in the tests.
-      oleaut32: Fix a leak in the tests.
-      qedit: Fix a memory leak.
-      dbghelp: Fix compilation on OSX.
-      ole32: Fix several memory leaks in the tests.
-      oleaut32: Fix memory leaks in the tests.
-      oleaut32: Fix a memory leak.
-      shell32: Fix a memory leak in the tests.
-      riched20: Initialise window size.
-      shell32: Fix a memory leak.
-      oleaut32: Fix several memory leaks in the tests.
-      dsound: Fix a memory leak in the tests.
+Jason Edmeades (1):
+      comctl32/toolbar: Improve fixme message conditions.
 
-Jacek Caban (30):
-      mshtml: Don't pass fdexNameEnsure flag to script engines in find_global_prop.
-      mshtml: Added test for setting VT_EMPTY event handler.
-      jscript: Don't pass EXPR_NEWREF flag to evaluate member expression in array_expression_eval.
-      jscript: Moved set_last_index call to do_regexp_match_next.
-      jscript: Fixed String.split for missing regexp separator.
-      mshtml: Added IHTMLDocument2::onreadystatechange property implementation.
-      wininet: Correctly handle dwContentRead for gzip encoded requests.
-      wininet: lpszUrlPath should be NULL for URLs in file:///... format.
-      wininet: Make InternetCrackUrlA tests more generic and add more tests.
-      wininet: Set lpszUrlPath in InternetCrackUrlW if its length is 0.
-      urlmon: Include extra info in object name passed to HttpOpenRequest.
-      mshtml: Added IHTMLDOMTextNode::get_length implementation.
-      mshtml: Removed ref count tests that fail on some Windows.
-      jscript: Reorder functions in function.c.
-      jscript: Added Function constructor implementation.
-      jscript: Added Function constructor tests.
-      jscript: Fixed tests on some Windows.
-      mshtml: Added IHTMLStyle::marginTop implementation.
-      mshtml: Added IHTMLStyle2::right implementation.
-      wininet: Directly return error status from HTTP_HttpQueryInfoW.
-      urlmon: Pass flags to test_BindToStorage.
-      urlmon: Added support for BINDSTATUS_REDIRECTING.
-      urlmon: Correctly handle accept ranges in HttpProtocol_open_request.
-      urlmon: Correctly handle INTERNET_STATUS_REDIRECT.
-      urlmon: Added HTTP redirecting test.
-      urlmon: Report redirected URL to object created by BindToObject.
-      mshtml: Added support for redirected binding.
-      urlmon: Fixed race in tests.
-      wininet: Make sure to not read over chunk end in read_gzip_data.
-      mshtml: Don't use necko nsIHttpChannelInternal implementation in nsChannel object.
+Jeremy White (2):
+      winspool: Test for failure using correct size.
+      winspool: Correctly zero printer driver buffer on failure, with tests.
 
-Jaime Rave (1):
-      winedbg: Add Spanish translation.
+Joel Holdsworth (1):
+      user32: Fixed icons to select correct image in high colour depth.
 
-James Hawkins (48):
-      oleaut32: Add tests for DispGetParam. Fix two issues that crashed the tests.
-      oleaut32: Report the parameter index for any failure in DispGetParam.
-      msi: Add more tests for the Installer.OpenPackage method.
-      msi: It's possible to send in more than two parameters to Installer.OpenPackage, but sending in zero parameters should return DISP_E_TYPEMISMATCH.
-      msi: Verify that the first parameter to Installer.OpenPackage is a VT_BSTR.
-      msi: The second parameter to Installer.OpenPackage is optional, so set a default value of 0 if the parameter is not provided.
-      msi: Make sure to free the extra row data when deleting a row.
-      msi: Free the column info data when updating the table column info.
-      msi: Add a NULL terminator to file->dest after reallocation.
-      msi: Fix a handle leak in the record tests.
-      msi: Close the original record before copying new data into it.
-      msi: Stub out a few more Installer object methods.
-      msi: Refactor the Installer.CreateRecord method into InstallerImpl_CreateRecord.
-      msi: Refactor the Installer.OpenPackage method into InstallerImpl_OpenPackage.
-      msi: Refactor Installer.OpenProduct and Installer.OpenDatabase into respective functions.
-      msi: Refactor the Installer.SummaryInformation method to InstallerImpl_SummaryInformation.
-      msi: Refactor the Installer.UILevel method into InstallerImpl_UILevel.
-      msi: Refactor the remaining Installer object stub methods into respective functions.
-      msi: Refactor the Installer.InstallProduct method into InstallerImpl_InstallProduct.
-      msi: Refactor the Installer.Version method into InstallerImpl_Version.
-      msi: Refactor the Installer.RegistryValue method into InstallerImpl_RegistryValue.
-      msi: Refactor the Installer.ProductState method into InstallerImpl_ProductState.
-      msi: Refactor the Installer.ProductInfo method into InstallerImpl_ProductInfo.
-      msi: Refactor the Installer.Products method into InstallerImpl_Products.
-      msi: Refactor the Installer.RelatedProducts method into InstallerImpl_RelatedProducts.
-      msi: Wine fails the test and passes us a Session object back, so free it in this case.
-      msi: Make sure we don't access pcchValueBuf when szBuffer is NULL, as pcchValueBuf is not required to be initialized in this case.
-      msi: Don't free str until the last instance of its use.
-      msi: Free each stream name when deleting the streams view.
-      msi: Store the number of types we queried. We were leaking these types because we didn't have the correct count.
-      msi: Free each storage name when deleting the storages view.
-      msi: Fix a record handle leak.
-      msi: Implement DROP_delete that deletes the drop view. We were leaking the view before.
-      msi: Free the Streams and Storages view object in their respective delete methods.
-      msi: Free each table object when deleting the join view.
-      msi: Free the enumeration data returned by IEnumSTATSTG_Next.
-      msi: Keep track of the current view in the sql parser.
-      msi: Free the join view if we fail to create the table view.
-      msi: Fix a leaking record handle.
-      msi: Free the columns view if check_column_exists fails.
-      msi: Simplify ITERATE_WriteEnvironmentString.
-      msi: Refactor freeing the import sql strings.
-      msi: Free the temp buffer if we haven't assigned it to *appValue.
-      msi: Free the cached streams when closing the database.
-      msi: Move MSITRANSFORM and MSISTREAM and associated methods to the dabatase implementation file as they are database objects/methods.
-      kernel32: Free the resource data if a matching resource exists and we choose not to overwrite the existing resource.
-      msi: Initialize type. If the value did not exist, type was uninitialized and passed to RegSetValueExW.
-      msi: Free the current filename if we choose to not extract the file.
+Josselin Bardet (1):
+      msiexec: Support of /package option.
 
-Jeremy White (6):
-      usrmarshal: Add a test for marshalling a SAFEARRAY of VT_BSTR.
-      oleaut32/tests: Avoid a memory leak; spotted by Valgrind.
-      oleaut32/tests: Check the actual size of safe arrays marshaled, not just projected size.
-      oleaut32: Use wire sizes for marshaled safe arrays of bstrs and variants; fixes a test failure on win64.
-      winspool: Add tests for paths returned in GetPrinterDriver.
-      oleaut32/tests: Adjust new tests to pass on win9x platforms.
+Juan Lang (1):
+      crypt32: Don't get confused matching URLs with a colon in the userinfo portion (e.g. user:password@domain).
 
-Juan Lang (51):
-      winhttp: Use sk_ functions rather than accessing an OpenSSL stack type directly.
-      crypt32/tests: Don't pass as a parameter a variable that could be local.
-      rsaenh: Fix memory leak in CPSignHash.
-      crypt32/tests: Fix memory leak in test.
-      rsaenh/tests: Fix memory leaks.
-      wintrust: Fail to load a certificate from a PE file if the certificate entry isn't a known type.
-      inetmib1: Don't claim a value is dynamic when it isn't.
-      inetmib1: Return error value from MIB copy functions.
-      inetmib1: Return SNMP_ERRORSTATUS_NOSUCHNAME for an interface's physical address if it has none.
-      snmpapi: Add stub for SnmpSvcGetUptime.
-      wininet: Trace more parameters to HTTP_GetCustomHeaderIndex.
-      wininet: Fix an apparent typo.
-      winhttp: Fix test error when run as non-administrator.
-      crypt32: Compare CRL's authority key identifier against the certificate's subject key identifier property, which also decodes the certificate's extension if necessary.
-      rsaenh/tests: Fix memory leak.
-      inetmib1: Return SNMP_ERRORSTATUS_NOSUCHNAME for an interface's description if it has none.
-      inetmib1: Copy an IP net row's physical address using a type-specific helper function, rather than using a generic helper function which made an invalid alignment assumption.
-      rsaenh: Use helper function to release and install a key into a crypt provider.
-      rsaenh: Free a verify context's keys when it's destroyed.
-      winhttp/tests: Only free a certificate context if retrieving it succeeded.
-      rsaenh: Fix memory leak reading stored keys.
-      crypt32: Trace chain final error status.
-      crypt32: Don't dereference an output pointer which may be NULL.
-      crypt32: Fix CertAddCRLContextToStore for CERT_STORE_ADD_USE_EXISTING add disposition.
-      crypt32: Fix CertAddCTLContextToStore for CERT_STORE_ADD_USE_EXISTING add disposition.
-      advapi32/tests: Fix memory leaks in tests.
-      crypt32: Accept end certificates with no extended key usage extension if a particular key usage is requested.
-      winhttp: Free OpenSSL error strings at unload.
-      winhttp: Don't call a function whose result is never used.
-      winhttp/tests: Skip secure connection tests if the request fails.
-      wininet: Don't unnecessarily convert hostname to ANSI to check it.
-      wininet: Free OpenSSL error strings at unload.
-      wininet: Store hostname for secure connection in its SSL context.
-      wininet: Set callback to verify hostname with peer's certificate.
-      wininet: Check the certificate in an https connection using the crypto api.
-      winhttp: Return error directly from netconn_verify_cert.
-      winhttp: Set error and fail if a secure connections certificate couldn't be verified.
-      wininet: Return error directly from netconn_verify_cert.
-      wininet: Set error and fail if a secure connection's certificate couldn't be verified.
-      cryptnet: Use helper function to verify a certificate's revocation.
-      cryptnet: Change guard variable to simplify loop.
-      cryptnet: Use helper function to check a cert against a CRL.
-      cryptnet: If the caller specifies the location of a CRL, check a cert's revocation status against it.
-      cryptnet: Make sure an issuer certificate can sign CRLs before looking for a CRL.
-      cryptnet: Use helper function to get a URL from a CRL distribution points extension.
-      cryptnet: Use helper function to check revocation with a CRL distribution points extension.
-      cryptnet: Add stub for verifying revocation via OCSP.
-      ole32: Fix a memory leak.
-      crypt32: Check authority key identifer extension to determine if a certificate is self-signed.
-      wintrust: Check authority key identifer extension to determine if a certificate is self-signed.
-      setupapi: Fix a comment typo.
+Kai Blin (1):
+      secur32: Pretend the NTLM provider also does Negotiate.
 
-Jörg Höhle (3):
-      mciwave: MCI Capability returns number of wave devices.
-      mciavi: Complete MCI GetDevCaps/capability.
-      mciavi: Do not stub unsupported recording or editing functions.
+Louis Lenders (1):
+      mapistub: Add new stubbed dll mapistub.dll.
 
-Ken Thomases (3):
-      kernel32: On Mac, construct locale string from language and country codes.
-      kernel32: Mac lang. pref. overrides LANG, but not LC_ALL or LC_MESSAGES.
-      kernel32: Consolidate some related code closer together.
+Loïc Hoguin (1):
+      winemp3.acm: mpg123_getformat must be called on MPG123_NEW_FORMAT errors for libmpg123 < 1.8.0.
 
-Kirill K. Smirnov (1):
-      comctl32/treeview: Avoid a NULL pointer dereference.
+Maarten Lankhorst (6):
+      mmdevapi: Add stubs for MMDevEnum with tests.
+      mmdevapi: Constify IMMDeviceEnumeratorVtbl.
+      mmdevapi: Add an empty IMMDeviceCollection implementation.
+      mmdevapi: Add test showing collection doesn't keep ref on parent.
+      Revert "dsound: Only initialize one guid for capture and renderer."
+      mmdevapi: Fix reference leak in tests.
 
-Lei Zhang (1):
-      secur32: Fix memory leak in SECUR32_addPackages.
+Marcin Baczyński (8):
+      advapi32/tests: Remove superfluous void* cast.
+      rasapi32/tests: Remove superfluous void* cast.
+      msctf: Remove superfluous void* cast.
+      winedump: Remove superfluous void* cast.
+      libport: Remove superfluous void* cast.
+      comctl32: Remove superfluous void* cast.
+      winedbg: Remove superfluous void* cast.
+      fnt2bdf: Remove superfluous void* casts.
 
-Luke Benstead (1):
-      ddraw: Fix an incorrect refcount test.
+Marcus Meissner (11):
+      cryptnet: Remove an unnecessary variable (Coverity).
+      msi: Removed unnecessary NULL check.
+      dbghelp: Initialize ret (Coverity).
+      user32: Initialize hICON to NULL (Coverity).
+      krnl386.exe: Removed unused owner_exists variable (Coverity).
+      kernel32: Check if buffer is NULL before derefencing it (Coverity).
+      user32: Remove useless NULL check (Coverity).
+      user32: EM_REPLACESEL - handle OOM error.
+      winex11.drv: physDev cannot be NULL (Coverity).
+      winex11: Remove more superflous NULL checks (Coverity).
+      setupapi: Avoid NULL dereference in error path (Coverity).
 
-Maarten Lankhorst (18):
-      include: Add some definitions to ks.h.
-      include: Fix typo in audiopolicy.
-      dsound: Move buffer property sets to buffer.c.
-      include: Add mmdeviceapi.idl.
-      dsound: Implement DSPROPERTY_WaveDeviceMappingA on top of *W.
-      dsound: Clean up DSPROPERTY_DescriptionW.
-      dsound: Clean up DSPROPERTY_EnumerateW.
-      dsound: Clean up DSPROPERTY_EnumerateA.
-      dsound: Clean up DSPROPERTY_Enumerate1.
-      dsound: Clean up DSPROPERTY_DescriptionA.
-      dsound: Clean up DSPROPERTY_Description1.
-      dsound: Only initialize one guid for capture and renderer.
-      mmdevapi: Add initial mmdevapi dll.
-      mmdevapi: Add some initial tests.
-      mmdevapi: Add more tests.
-      mmdevapi: Add class factory.
-      dsound: Remove refcounting in classfactory.
-      include: Add endpointvolume.idl.
+Matteo Bruni (2):
+      d3d9: Add D3DSHADER_COMPARISON definition.
+      wpp: Clean state on error path.
 
-Marcin Baczyński (5):
-      gdiplus: Add missing declarations for image.c.
-      gdiplus: Add missing declarations for imageattributes.c.
-      gdiplus: Add missing declarations for gdiplus.c.
-      gdiplus: Add missing declarations for pen.c.
-      gdiplus: Add missing declaration for customlinecap.c.
+Michael Stefaniuc (24):
+      comctl32/tests: Don't cast NULL to an integer type.
+      cryptui: Don't cast NULL to an integer type.
+      user32/tests: Don't cast NULL to an integer type.
+      windowscodecs: Don't cast NULL.
+      riched20: Remove some explicit LPARAM/WPARAM casts.
+      user32/tests: Remove some explicit LPARAM/WPARAM casts.
+      winex11.drv: Remove some explicit LPARAM/WPARAM casts.
+      user32: Remove some explicit LPARAM/WPARAM casts.
+      comctl32/tests: Remove some superfluous casts around SendMessage().
+      comctl32: Remove some explicit LPARAM/WPARAM casts.
+      oledlg: Remove some explicit WPARAM casts.
+      comdlg32: Remove some explicit LPARAM/WPARAM casts.
+      winecfg: Remove some explicit WPARAM casts.
+      wordpad: Remove some explicit LPARAM/WPARAM casts.
+      comctl32: The return value of notify_with_scroll() is never used.
+      shell32: Remove some superfluous LPARAM/WPARAM casts.
+      winapi: Remove the special handling of GDI_AllocObject().
+      shdocvw: Remove unneeded \ at the end of a line.
+      configure: Require a new enough flex version.
+      Revert "wrc: Use an EOF rule instead of lex_destroy for compatibility with prediluvian flex versions.".
+      Revert "Revert "wpp: config.h and wine/port.h should be included first."".
+      user.exe: Remove some superfluous WPARAM/LPARAM casts.
+      winetest: Remove superfluous WPARAM casts.
+      kernel32: Add missing stdarg.h includes.
 
-Marcus Meissner (10):
-      rpcrt4: Fixed array_compute_and_size_conformance on strings (Coverity).
-      reg: Fixed 2 functionality bugs in REG DELETE (Coverity).
-      winhttp: Check for endCert being NULL (Coverity).
-      dbghelp: Add a missing NULL check (Coverity).
-      jscript: Fixed uninitialized usage of i (Coverity).
-      dmime: Actually get a pCLSID stream before using it (Coverity).
-      dmloader: pObject NULL checks are not necessary (Coverity).
-      dbghelp: Check for NULL return from process_find_by_handle (Coverity).
-      ntdll: Check for NULL attr in NtOpenKey (Coverity).
-      rpcrt4: Exit on unknown confirmance type (Coverity).
-
-Michael Stefaniuc (1):
-      winex11: Fix missing unlock & free on an error path (Smatch).
+Mike Kaplinskiy (1):
+      user32: Fix color mask handling in CreateIconIndirect.
 
 Nathan Gallaher (1):
-      ole32: Fix invalid memory access in storage32.
+      msi: Queue dynamically allocated strings in cond.y.
 
-Nicolas Le Cam (2):
-      ddraw/tests: Get rid of a carriage return in a trace.
-      winedbg: Fix Norwegian translation warning by adding UTF-8 pragma.
+Nicolas Le Cam (1):
+      kernel32/tests: Simplify dumpmem function.
 
-Nikolay Sivov (26):
-      kernel32/tests: Fix test failures on NT4.
-      comctl32/treeview: Free items pointer array and root item on control destruction.
-      comctl32/tests: Free imagelist after use.
-      comctl32/tests: Don't forget to free array after tests.
-      comctl32/datetime: Free internal data completely on control destruction.
-      gdiplus/tests: Free brush pointer after test.
-      gdiplus/tests: Additional test to show that custom cap isn't created without stroke path.
-      gdiplus/tests: Free created iterator in tests.
-      gdiplus/tests: Delete Pen object after use.
-      msvcrt/tests: Free temporary file name after test.
-      windowscodecs/tests: Release decoder after use.
-      gdiplus/tests: Fix a matrix leak in test.
-      comctl32/listview: Update item width every time new item is inserted.
-      shell32: Fix some trace typos.
-      comctl32/treeview: Use additional helper for item invalidation.
-      comctl32/treeview: Remove some forward declarations.
-      comctl32/tests: Get rid of static handles, split tests finally.
-      comdlg32/filedlg: Fix a lookin combo data leak.
-      comdlg32/filedlg: Fix a find file handle leak.
-      oleaut32/tests: Fix a couple of leaks in tests.
-      comctl32/treeview: Fix mouse tracking request code.
-      comctl32/treeview: Fix default colors set on creation.
-      comctl32/treeview: Draw +/- signs with text color, not the lines' one.
-      comctl32/treeview: Implement NM_SETCURSOR notification.
-      kernel32/tests: Fix few context leaks.
-      kernel32: Fix typo in a comment.
+Nikolay Sivov (38):
+      comctl32/rebar: Use DPA to manage bands data.
+      comctl32/rebar: Move parameter cast to winproc.
+      comctl32/rebar: Collapse some parameter checks and winproc entries.
+      comctl32/rebar: Don't read outside of bands array on dragging.
+      kernel32/tests: Print line numbers in tests.
+      kernel32/tests: Fix some find handle leaks.
+      kernel32/tests: Fix LocalAlloc() allocated leaks.
+      kernel32/tests: Init pointers in common way, add some win_skip() while skipping.
+      kernel32: Fix SearchPath parameter validation with tests.
+      comctl32/tests: Add ability to create any number of edit buddies.
+      comctl32/tests: Some tests for buddy procedure subclassing.
+      comctl32/tests: Use win_skip() while skipping subclass tests.
+      comctl32/updown: Simplify buddy subclassing using SetWindowSubclass chain.
+      kernel32: Fix a leak in ReplaceFileW.
+      comctl32/updown: Don't update buddy text if it's the same.
+      comctl32/updown: Don't change control z-order, this breaks auto buddy binding.
+      comctl32/tests: Explicitly create rebar for each test, cleanup main function a bit.
+      comctl32/rebar: Fix default just inserted band colors.
+      comctl32/comboex: Use subclass chain for internally used controls.
+      comctl32/comboex: Add test for internally sent Edit messages, remove corresponding comments.
+      comctl32/comboex: Fix silly typo in CBEM_SETITEM handler (lParam wasn't set).
+      comctl32/comboex: Don't invalidate all windows if Edit box isn't set up.
+      comctl32/comboex: Get rid of useless helper.
+      comctl32/comboex: Move debugging traces that require additional code into TRACE_ON() condition.
+      comctl32/rebar: Avoid empty band range when changing layout.
+      comctl32/tests: Skip test on <5.8x systems.
+      comctl32/rebar: Check for null handles before invalidation.
+      comctl32/updown: Fix formatting for hex mode.
+      user32/tests: Add tests for invalid index in GetSysColorBrush().
+      user32/sysparams: Return NULL from GetSysColorBrush() for invalid index.
+      user32/uitools: Fix FillRect behaviour for invalid brush passed.
+      comdlg32/tests: Free global blocks after PrintDlg() with PD_RETURNDEFAULT.
+      comctl32/comboex: Fix a leak for text string stored for edit item.
+      comctl32/listview: Fix memory leak on subrange deletion.
+      oleaut32/tests: Fix some leaks in safearray tests.
+      shell32/shelllink: Fix some string buffers leaks.
+      user32/tests: Forward test proc to default dialog procedure instead of window's one.
+      ntdll: Release buffer when it won't be referenced.
 
-Owen Rudge (11):
-      imagehlp: Implement ImageRemoveCertificate.
-      imagehlp/tests: Add tests for adding/removing multiple certificates.
-      imagehlp: Check for 64-bit PE files in CheckSumMappedFile.
-      imagehlp: Recalculate PE checksum after file modification.
-      include: Redefine LHANDLE as ULONG_PTR.
-      mapi32: Correct the Simple MAPI parameters.
-      winemapi: Add skeleton for new Wine MAPI provider.
-      winemapi: Add Simple MAPI functions.
-      winemapi: Implement MAPISendMail.
-      wine.inf: Add winemapi.dll to the mail clients section.
-      mapi32: Remove fallback procedure in MAPISendMail and replace with error message.
+Paul Chitescu (2):
+      quartz: Implement NullRenderer's IBaseFilter::FindPin.
+      quartz: Only wait in IMediaEvent::WaitForCompletion if the filter is running.
 
-Paul Chitescu (3):
-      advapi32: Reduce registry access to MAXIMUM_ALLOWED wherever possible.
-      services.exe: Reduce Registry access to KEY_READ or MAXIMUM_ALLOWED wherever possible.
-      server: Only check if permission bits changed before calling fchmod().
-
-Paul Vriens (26):
-      advapi32/tests: Fix some test failures when the computername is fully qualified.
-      mshtml/tests: Skip some tests on older IE.
-      adapi32/tests: Fix test failures when the computername is fully qualified on W2K3 and earlier.
-      winspool.drv/tests: Fix test failures on XP+ with long printer names.
-      shell32/tests: Cope with non-English Vista+ and short names in the title bar of explorer windows.
-      shell32/tests: Decide whether to use CSIDL_PROGRAMS or CSIDL_COMMON_PROGRAMS by checking admin rights.
-      shell32/tests: Removed an unused define.
-      shell32/tests: Remove a now unused define.
-      shell32/tests: Remove a useless string.
-      imagehlp/tests: Run tests again on Win95.
-      ole32/tests: Don't crash on Win9x/WinMe by using more A-functions.
-      ddraw/tests: Fix some test failures on Vista+.
+Paul Vriens (13):
+      msi/tests: Fix test failures on Win9x/WinMe.
+      ole32/tests: Fix a test failure on several platforms.
       comctl32/tests: Fix a test failure on older comctl32.
-      shell32/tests: Fix a test failure on a default Windows 7 system.
-      kernel32: Add a define for UNICODE_STRING_MAX_CHARS.
-      kernel32/tests: Only set the size ourselves if we are on W2K.
-      comctl32/tests: Fix some test failures on older comctl32.
-      rpcrt4/tests: Don't crash on NT4.
-      rpcrt4/tests: Skip more tests on Win9x/WinMe.
-      gdiplus/tests: Fix some test failures on older gdiplus.
-      cryptnet/tests: Fix some test failures on W2K with just SP3 or SP4.
-      ntdll/tests: Fix a test failure on NT4/W2K.
-      ntdll/tests: Fix a memory leak (Valgrind).
-      kernel32: Fix a crash with GetLongPathNameW and UNC path names.
-      kernel32/tests: Add some tests for GetLongPathNameW.
-      gdiplus/tests: Fix a test failure on XP/W2K3.
+      imagehlp/tests: Fix a test failure on Win95.
+      hlink/tests: Fix a test failure on Win9x/WinMe.
+      mmdevapi/tests: Fix a test failure on Vista+ with no soundcard present.
+      kernel32: Add a stubbed GetConsoleProcessList().
+      mshtml/tests: Fix a test failure on NT4.
+      mshtml/tests: Fix timeouts on Win9x/WinMe by using more A-functions.
+      wined3d: Fix use of memset (Coccinelle).
+      shell32: Fix length parameter for ZeroMemory (Coccinelle).
+      d3d9/tests: Fix size parameter for memcmp (Coccinelle).
+      ntdll: Fix length parameter for NtQueryValueKey (Coccinelle).
 
-Piotr Caban (22):
-      msxml3: Fix VARIANT_from_xmlChar implementation.
-      mshtml: Added PersistStreamInit_InitNew implementation.
-      mshtml: Added OleObject_Advise implementation.
-      mshtml: Added OleObject_Unadvise implementation.
-      mshtml: Added OleObject_EnumAdvise implementation.
-      mshtml: Added OleObject_Advise tests.
-      mshtml: Added Advise handling to OleObject_Close.
-      mshtml: Improved OleDocumentView_UIActivate implementation.
-      mshtml: Added more OleDocumentView_UIActivate tests.
-      urlmon: Added ProxyStub implementation.
-      urlmon: Added InternetSecurityManager marshalling test.
-      mshtml: Added ViewObjectEx stub implementation.
-      mshtml: Added IObjectWithSite stubs.
-      oleaut32: Fix SysReAllocStringLen implementation.
-      mshtml: Added IElementBehavior{Site,Factory} to idl file.
-      shlwapi: Allow ' ' in hostname and password in UrlGetPart.
-      shlwapi: Added special case for URL_PART_HOSTNAME in UrlGetPart.
-      urlmon: Added PARSE_DOMAIN to CoInternetParseUrl.
-      urlmon: Added PARSE_ROOTDOCUMENT to CoInternetParseUrl.
-      urlmon: Added CoInternetGetSecurityUrl implementation.
-      urlmon: Added tests for CoInternetGetSecurityUrl.
-      urlmon: Remove some CoInternetParseUrl tests.
+Piotr Caban (2):
+      mshtml: Query OleClientSite about services in ServiceProvider_QueryService.
+      mshtml: Added IDispatch ConnectionPoint.
 
-Rob Shearman (21):
-      ole32: Initialise all of position variables in test_save_load_filemoniker.
-      ole32: Add tests for HGLOBAL stream ignoring the HighPart of the offset for seeks.
-      netapi32: Fix off-by-one errors in ACCESS_QueryAdminDisplayInformation and ACCESS_QueryGuestDisplayInformation.
-      hlink: Fix more memory leaks in tests.
-      secur32: Fix memory leak in NTLM's FreeCredentialsHandle.
-      rpcrt4: Fix some memory leaks in the cstub tests.
-      rpcrt4: Add support for context handles in stubless servers.
-      rpcrt4: Handle [out]-only non-conformant strings in stubless servers.
-      rpcrt4: Implement RpcServerRegisterAuthInfoA/W.
-      rpcrt4: Fix rpcrt4_conn_tcp_read and rpcrt4_conn_tcp_write for reading/writing zero-sized data.
-      rpcrt4: Add support for server-side authentication.
-      rpcrt4: Process control packets in the server synchronously to avoid races when using 3-factor authentication.
-      rpcrt4: Allow the connection to override the authentication mechanism for a connection type.
-      rpcrt4: Override authentication functions for ncalrpc protocol to do nothing.
-      rpcrt4: Implement client impersonation.
-      rpcrt4: Allow the authentication details of the client to be transport-specific.
-      rpcrt4: Override inquire_auth_client for ncalrpc transport to always indicate that the connection is authenticated.
-      gdi32: Fix memory leaks on EMF_Create_HENHMETAFILE failure.
-      msvcrt: Free memory allocated in TLS slot on module unload as well as thread exit.
-      cabinet: Fix memory leaks on failure in FDICopy.
-      ntdll: Ignore the hole in the FILE_PIPE_WAIT_FOR_BUFFER structure passed into NtFsControlFile before writing the structure to the server.
+Reece Dunn (1):
+      Don't generate FIXME warnings for DllCanUnloadNow.
 
-Roderick Colenbrander (4):
-      ws2_32: Use winediag for socket failures.
-      iphlpapi: Use winediag for icmp failure.
-      winex11: Move X11 display failure MESSAGE to winediag.
-      wined3d: Fix a bug in BtlFast which was uncovered by the 32-bit dibsection support.
+Rob Shearman (16):
+      ole32: Release the data object and free the cached enum data upon OleUninitialize.
+      ole32: Fix stream reference leak in test_ReadClassStm.
+      ole32: Handle SetClipboardData failing in OLE clipboard functions.
+      shell32: Fix style in autocomplete tests to more match the typical style used in the rest of Wine.
+      shell32: Fix memory leaks in autocomplete tests.
+      shell32: Fix a potentially large memory leak in IQueryAssociations_fnGetString.
+      winex11.drv: Empty clipboard cache on process unload to avoid false positives being reported for memory leaks.
+      secur32: Fix memory leaks in tests.
+      secur32: Simplify memory management by not allocating memory for the CredHandle and CtxtHandle pointers.
+      secur32: Fix memory leaks in ntlm_InitializeSecurityContextW.
+      secur32: Don't allocate context handle in wrapper InitializeSecurityContextA/W if it is the same as the handle passed into the function.
+      ntdll: Fix typo in RTL_ReportRegistryValue which caused a counted string to be passed into QueryFunction which expects a nul-terminated string.
+      shlwapi: Initialise id field of ConPt object in connection point tests.
+      jscript: Make sure retv pointer is initialised in exec_source even if no value needs to be returned.
+      jscript: Make sure to initialise the string output parameter in run_exec.
+      jscript: Fix various memory and reference count leaks.
 
-Stefan Dösinger (10):
-      wined3d: Add a function for initializing surface sysmem.
-      wined3d: A function for checking if a surface is offscreen.
-      wined3d: Use GL_COLOR_ATTACHMENT0 as offscreen buffer with FBOs.
-      wined3d: Infrastructure to render swapchains to a FBO.
-      wined3d: Render to a FBO if the window size is changed.
-      Render to fbo when the size mismatches at creation time.
-      wined3d: Frontbuffers are onscreen.
-      wined3d: Properly release client storage memory.
-      wined3d: Don't render single buffered swapchains to a FBO.
-      wined3d: Fix VBO buffer usage.
+Roderick Colenbrander (1):
+      winex11: Fix a null pointer crash when XRender isn't around.
 
-Stefan Leichter (2):
-      setupapi32/tests: More tests for SetupGetInfFileListW.
-      setupapi: Implement SetupGetInfFileListW.
+Stefan Dösinger (13):
+      wined3d: Free buffer conversion info when freeing the buffer.
+      wined3d: Use unload instead of duplicating buffer remove code.
+      wined3d: Remove the d3d7 do-not-convert code.
+      wined3d: Rename conversion_count to something more appropriate.
+      wined3d: Increment the buffer draw count if the buffer was clean.
+      wined3d: Drop the VBO if too many full buffer conversions occur.
+      wined3d: Revert the GL usage confusion.
+      wined3d: Set WINED3D_BUFFER_CREATEBO in buffer_init().
+      wined3d: Track separate dirty ranges in buffers.
+      wined3d: Add GLintptr and GLsizeiptr.
+      wined3d: Add GL_APPLE_flush_buffer_range.
+      wined3d: Prepare for dynamic vertex buffers.
+      wined3d: Implement subrange flushing with GL_APPLE_flush_buffer_range.
 
-Vincent Povirk (50):
-      windowscodecs: Accept GIF files with no trailer.
-      ole32: Make CreateDirEntry a virtual method.
-      ole32: Change WriteDirEntry return type to HRESULT.
-      ole32: Change ReadDirEntry return type to HRESULT.
-      ole32: Add WriteDirEntry to the storage vtable.
-      ole32: Add ReadDirEntry to the storage vtable.
-      gdiplus: Implement GdipCloneBitmapArea.
-      gdiplus: Fix cleanup after errors in GdipCloneImage.
-      ole32: Change the base IStorage filename to a pointer type.
-      ole32: Take a StorageBaseImpl in insertIntoTree.
-      ole32: Take a StorageBaseImpl in removeFromTree.
-      ole32: Add DestroyDirEntry to the storage vtable.
-      ole32: Use the storage vtable to read streams.
-      ole32: Use the storage vtable to write to streams.
-      ole32: Use the storage vtable to resize streams.
-      ole32: Don't track the stream size in storage stream objects.
-      ole32: Store the parent of internal storage objects.
-      ole32: Add an attribute to StorageBaseImpl to track its reverted status.
-      ole32: Add a test for modifying read-only substorage objects.
-      ole32: Don't use ancestorStorage to decide if a storage is transacted.
-      ole32: Make findElement take a StorageBaseImpl.
-      ole32: Make IEnumSTATSTGImpl reference the parent storage.
-      ole32: Remove the ancestorStorage attribute.
-      wineboot: Do not force --kill when --end-session is set.
-      wineboot: Terminate processes immediately after WM_ENDSESSION.
-      ole32: Create internal storage objects with a refcount of 1.
-      ole32: Add Invalidate to the storage vtable.
-      ole32: Add a stub transacted storage type.
-      ole32: Implement transacted storage.
-      ole32: Implement Revert for transacted storage objects.
-      winex11.drv: Use the old method to delete the desktop window.
-      include: Add PaletteFlags enumeration.
-      gdiplus: Implement GdipSetImagePalette.
-      gdiplus: Implement GdipGetImagePaletteSize.
-      gdiplus: Implement GdipGetImagePalette.
-      gdiplus: Initialize the palettes of new indexed bitmaps.
-      gdiplus: Add test for image palette functions.
-      ole32: Fix a memory leak in StorageBaseImpl_CopyTo.
-      ole32: Remove an unnecessary special case in StorageBaseImpl_CopyTo.
-      ole32: Properly free temporary objects when StorageBaseImpl_CopyTo fails.
-      shell32: Fix an uninitialized memory access in SHGetFileInfoW.
-      shell32: Fix a memory leak in a test.
-      windowscodecs: Fix a memory leak in a test.
-      gdiplus: Explicitly copy the bits from dib sections to new bitmaps.
-      gdiplus: Support reading image data from device-dependent bitmaps.
-      ole32: Add a cache for block chain streams in StorageImpl.
-      ole32: Compare upper character values directly in entryNameCmp.
-      ole32: Fix memory leaks in the storage test.
-      shell32: Fix a memory leak in SHFileOperationW.
-      gdiplus: Add tests for the other frame functions, for memory bitmaps.
+Stefan Leichter (4):
+      ntoskrnl.exe: Add stub for KeInitializeSemaphore.
+      ntoskrnl.exe: Add stub for KeReleaseSemaphore.
+      ntoskrnl.exe: Add stub for KeSetPriorityThread.
+      ntoskrnl.exe: Add stub for KeGetCurrentThread/PsGetCurrentThread.
+
+Steven Edwards (1):
+      winefile: Replace builtin execute dialog with standard RunFile dialog.
+
+Tillmann Werner (1):
+      winedump: Fix null pointer dereference in spec mode.
+
+Vincent Povirk (36):
+      gdiplus: Add traces for values of newly-created brushes.
+      gdiplus: Add traces for values of newly-created linecaps.
+      gdiplus: Add traces for values of newly-created font objects.
+      gdiplus: Add trace for values of new graphics and image objects.
+      gdiplus: Allocate a new ImageAttributes object in GdipCloneImageAttributes.
+      gdiplus: Add a test for GdipSetImageAttributesColorMatrix.
+      gdiplus: Implement GdipSetImageAttributesColorMatrix.
+      ole32: Add some tests for IEnumSTATSTG.
+      ole32: Make IEnumSTATSTG functions fail when the parent is invalid.
+      ole32: Store the most recent item name in IEnumSTATSTG instead of a stack.
+      ole32: Reread the stream entry after setting the size in StreamWriteAt.
+      gdiplus: Add a trace for values of new ImageAttributes objects.
+      gdiplus: Add traces for values of newly-created pens.
+      gdiplus: Add a trace for values of new string format objects.
+      gdiplus: Add some traces for the values of point arguments.
+      gdiplus: Add traces to unimplemented functions in brush.c.
+      ole32: Always allow changes to read-only transacted storages.
+      gdiplus: Fix memory leak in GdipSetStringFormatMeasurableCharacterRanges.
+      gdiplus: Add tests for multi-frame GIF images.
+      gdiplus: Remove fixme from GdipImageGetFrameDimensionsCount.
+      gdiplus: Implement GdipImageGetFrameDimensionsList.
+      gdiplus: Test the ability to load WMF images.
+      gdiplus: Add test for size of metafiles loaded from streams.
+      gdiplus: Add test for GdipCreateMetafileFromWmf.
+      gdiplus: Fix typo in GdipCreateMetafileFromWmf.
+      gdiplus: Add test for image resolution functions.
+      gdiplus: Implement GdipGetImage*Resolution.
+      gdiplus: Implement GdipBitmapSetResolution.
+      gdiplus: Fix a memory leak in GdipCreateMetafileFromWmf.
+      ole32: Remove fixme for transacted mode.
+      gdiplus: Add traces to unimplemented functions in customlinecap.c.
+      gdiplus: Add traces to unimplemented functions in graphics.c.
+      gdiplus: Add trace to unimplemented function in graphicspath.c.
+      gdiplus: Add trace to GdipBitmapUnlockBits.
+      gdiplus: Add traces to unimplemented functions in image.c.
+      gdiplus: Reset the lock count when unlocking a bitmap in write mode.
 
 Vladimir Pankratov (1):
-      setupapi: Add stub for CM_Get_Device_ID_ExW.
+      mapi32: Add Russian translation.
 
-Wolfram Sang (1):
-      ntoskrnl: Add IoAllocateErrorLogEntry stub.
+William Waghorn (1):
+      wined3d: Added NVidia GT240 detection.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index a6a44af..57e4468 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.1.35
+Wine version 1.1.36
diff --git a/configure b/configure
index b81612d..a97fe17 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.65 for Wine 1.1.35.
+# Generated by GNU Autoconf 2.65 for Wine 1.1.36.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -552,8 +552,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.1.35'
-PACKAGE_STRING='Wine 1.1.35'
+PACKAGE_VERSION='1.1.36'
+PACKAGE_STRING='Wine 1.1.36'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1370,7 +1370,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.1.35 to adapt to many kinds of systems.
+\`configure' configures Wine 1.1.36 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1439,7 +1439,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.1.35:";;
+     short | recursive ) echo "Configuration of Wine 1.1.36:";;
    esac
   cat <<\_ACEOF
 
@@ -1580,7 +1580,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.1.35
+Wine configure 1.1.36
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2100,7 +2100,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.1.35, which was
+It was created by Wine $as_me 1.1.36, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -18547,7 +18547,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.1.35, which was
+This file was extended by Wine $as_me 1.1.36, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18614,7 +18614,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.1.35
+Wine config.status 1.1.36
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
