diff --git a/.mailmap b/.mailmap
index b3f9521..87fb1f5 100644
--- a/.mailmap
+++ b/.mailmap
@@ -14,6 +14,7 @@
 Caron Wills <caron@codeweavers.com>
 Christopher Gautier <krys@via.ecp.fr>
 David A. Cuthbert <dacut@ece.cmu.edu>
+David Heidelberger <david@ixit.cz>
 Dennis Björklund <db@zigo.dhs.org>
 Dennis Björklund <dennisb@cs.chalmers.se>
 Dimitrie O. Paun <dimi@bigfoot.com>
@@ -21,6 +22,7 @@
 EA Durbin <eadurbin@freebsd.org>
 Eduardo García <eduardo.garcia@gmx.com>
 Erich Hoover <erich.e.hoover@gmail.com>
+Erich Hoover <erich.e.hoover@wine-staging.com>
 Erwin Wolff <erwinwolffnl@microformatica.com>
 Evgeny Putin <evcalipt@etersoft.ru>
 Fatih Aşıcı <fasici@linux-sevenler.org>
diff --git a/ANNOUNCE b/ANNOUNCE
index 87d69cd..37df336 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,16 +1,16 @@
-The Wine development release 1.7.36 is now available.
+The Wine development release 1.7.37 is now available.
 
 What's new in this release (see below for details):
-  - Some preliminary 64-bit support for Mac OS X.
-  - Support for configuring speakers in Winecfg.
-  - Improved support for Mac OS X Trash folder.
-  - Support for typographic features in DirectWrite.
+  - Interface change notifications.
+  - Support for the UTF-7 encoding.
+  - A number of graphical fixes for themed controls.
+  - Wininet now implemented on top of Win32 sockets.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://prdownloads.sourceforge.net/wine/wine-1.7.36.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.36.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.7.37.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.37.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -26,202 +26,299 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.7.36 (total 44):
+Bugs fixed in 1.7.37 (total 71):
 
-  11117  Youtube Downloader crashes on unimplemented shdocvw.DoFileDownload
-  14448  Spectaculator: menu icons do not show properly when not fullscreen
-  16373  Adobe Reader 8.1 can't open "Beyond Adobe Reader"
-  17271  Office 2003/2007 help does not work
-  18357  MyHeritage Family tree builder crashes in the begining of the installtion (NSIS installer)
-  21327  Weird behaviour with Alt+Tab and wine fullscreen applications
-  24331  NI Circuit Design Suite 10.1.1 fails to install
-  24384  Program Error - My Heritage Family Tree Builder
-  27558  EA Origin: application starts in Polish instead of English
-  28142  GODS-Lands of Infinity: NPCs have multiple shadows
-  29289  Sharepod crash
-  29655  Adobe Reader 9.5.0 fails to open document restricted by remote server (Adobe LifeCycle Rights Management security)
-  30016  iWin Games Manager installer crashes on unimplemented function oleaut32.dll.OleSavePictureFile
-  30261  Imperial Glory - Creating multi-player game causes crash
-  30344  Windows 8 consumer preview setup crashes due to unimplemented function msi.dll.MsiEnumClientsExW
-  30432  UpdateResource doesn't update Resource Table virtual address
-  30823  mono program incorrectly writing Chinese characters to console with Wine mono
-  32229  Windows Live Essentials 2012 web installer crashes (CreateHardLinkTransactedW and DeleteFileTransactedW missing)
-  32297  dwChannelMask, nAvgBytesPerSec and nBlockAlign handled incorrectly by mmdevapi drivers in IsFormatSupported.
-  32524  mmdevdrv assertion failure on FarCry3 loading screen
-  32943  GOG.com Uru Complete Chronicles crashes after intro videos
-  34603  Trainsimulator 2014 crash at start/fails to start
-  34806  Brothers in Arms Road to Hill 30 demo: Clicking sounds in audio
-  35755  UltraISO 'ISODrive.sys' crashes on unimplemented function ntoskrnl.exe.ExfInterlockedRemoveHeadList
-  35893  sdb2xml (.NET 2.0 app) crashes on unimplemented function apphelp.dll.SdbOpenDatabase
-  36466  Add WScript.Echo support for VBScripts and JScripts
-  36684  fRo game ( Ragnarok ) : loop bug while installing
-  36882  Certain Touhou Games (10, 14, 14.3) run at 20 FPS rather than 60
-  37012  Evernote 5.5.x crashes when accessing the Market tab
-  37250  PDFXChange Editor 5.5 build 309.0 crashes on unimplemented function cryptui.dll.CryptUIDlgSelectCertificateFromStore when trying to sign a document
-  37272  CheatEngine 6.4 fails after remote process 'breakin', reporting 'Debugger Crash:Access violation (Last location:41)'
-  37691  Problems with internal windows in IDA (Qt)
-  37749  Parts of .ogg files played in Touhou Danmakufu ph3 (Wine 1.7.33) are skipped
-  37872  Multiple applications need support for IHTMLWindow2::open '_self' window name (CompeGPS)
-  37880  Watchtower Library 2010 crashes on startup
-  37895  PostgreSQL 9.3 VBScript based post-install steps fail due to parser errors (optional parameter between other parameters, pair of empty commas)
-  37940  Invalid file buffering behavior causes data corruption
-  37941  msvcr100.dll lacks two functions: iswpunc_l and iswspace_l needed for Dragon Naturally Speaking
-  37951  ASUS PC Link needs KERNEL32.dll.GetSystemFirmwareTable
-  37953  stack overwrite in msvcrt functions
-  37970  prntvpt.dll.PTQuerySchemaVersionSupport not implemented (Photoshop CS6 crashes)
-  37987  Medieval 2: Total War crashes with built-in msvcp71
-  38017  sdb2xml (.NET 2.0 app) crashes on unimplemented function apphelp.dll.SdbGetFirstChild
-  38018  Windows Live Essentials 2012 web installer crashes on unimplemented function ktmw32.dll.RollbackTransaction
+   8621  Silktest 5 installer aborts on disk space check
+   9447  Supreme Commander's FMVs do not skip frames
+  10913  start.exe doesn't support optional process title argument
+  11764  Add support for multi-channel audio
+  12738  Karafun: plays song, but doesn't display lyrics  (kfn file)
+  15027  Microsoft Office 2007, Adobe AfterEffects 6 installers EULA very slow
+  15974  Metatrader 4 doesn't restore MDI child window positions and (maximized) state on restart
+  17322  Multiple applications need partial 'NetUserEnum' implementation (Fresh Diagnose 8.0, Directory Opus 10, Nero Burning ROM v8)
+  17702  Ever17 requires the Courier New font
+  21004  RCT3 crashes on launch when virtual desktop isn't used (fullscreen).
+  23120  Crystal Disk Info 3.6 will not start
+  23843  Flickering window title bar in Su Doku Active in virtual desktop mode
+  23866  Microsoft Wine Guide crashes, unimplemented function msvideo.dll16._MCIWNDCREATE
+  25553  Sometimes 'make test' hangs after an 'under-run' error.
+  26565  Multiple games need 'xapofx1_4.dll' audio effects component for XAudio2 (Homefront)
+  26759  SIV (System Information Viewer) wants Vista+ connect.dll 'IsInternetConnected' for Internet accessibility check
+  27388  IE8 UTF-7 doesn't work
+  28295  mshtml/htmldoc.ok flaky
+  28298  riched20/editor.ok cursor position test flaky
+  28323  urlmon/tests/protocol.ok slightly flaky: protocol.c:2892: Test failed: ref=2
+  28470  qmgr tests deadlock with WINEDEBUG=warn+heap on slower machines
+  28503  comctl32/treeview.ok fails occasionally
+  28524  urlmon:url test case is ok after the 2nd attempt
+  28547  ole32/clipboard.ok crashed in X11DRV_CLIPBOARD_LookupData
+  28573  user32/cursoricon.ok failed,
+  28643  ole32/clipboard.ok crashes rarely in XInternAtoms()
+  29072  wldap32 tests flaky because they rely on external host ldap.itd.umich.edu
+  29238  Star Trek Armada II: Game crashes when attempting to launch a network game (IDirectPlayVoiceClient_GetCompressionTypes must return at least one result)
+  29560  RagTime 5.6.5 installer does not respond to mouseclicks properly
+  29924  control and inetcpl show some texts in wrong language
+  29938  signcode tool from .NET Framework SDK 1.1 crashes due to unimplemented function cryptui.dll.CryptUIWizDigitalSign
+  30323  Unigine Heaven DX11 Benchmark 3.0 Basic Edition: Ambient Occlusion causes graphical issue
+  31778  Unhandled page fault while starting CEDAR Logic simulator (A wxWidgets Windows application)
+  31924  mixerGetDevCaps does not support mixer device handles
+  31951  TomTom Home SatNav needs KERNEL32.dll.SetVolumeMountPointW
+  32025  Guitar pro 6 hangs when saving a file
+  32137  Kugou2012: crashes when installing
+  32328  Many .NET and Silverlight applications require SIO_ADDRESS_LIST_CHANGE for interface change notifications
+  32498  installer of PPTV hangs
+  32666  Black background in PowerPoint 2003
+  32769  PowerPoint 2003 hangs when opening test document
+  32777  winmm:mci fails if the current directory is read-only
+  32957  SolidWorks 2012 freezes
+  33616  secur32: assertion failure in libgcrypt, when loding a page (wine iexplore)
+  33709  Skyrim: no sound after intro video in 64 bit wineprefix
+  34639  Guild Wars: Crash on starting the game
+  34654  GOG.com downloader mode fails in browser (unimplemented association query)
+  34895  Internet Chess Club (ICC) Dasher 1.5.x crashes on startup
+  34913  GEOVIA Surpac 6.x (geology and mine planning software) needs vbscript:Global_InStrRev
+  35455  酷狗音乐盒(KuGou Music) hangs
+  35544  Proteus 8 Professional installer needs IWshShell3::RegRead method implementation
+  35545  Proteus 8 demo installer needs IWshShell3::RegWrite method implementation
+  36258  Gears of War crashes on unimplemented function d3dx9_36.dll.D3DXDisassembleShader
+  36544  The Weather Channel Desktop App for Windows fails to install
+  36812  Avast! Free Antivirus 9.0.2013 services crash on unimplemented function rpcrt4.dll.I_RpcBindingInqLocalClientPID
+  36830  Nexon Atlantica Online: broken launcher/updater reports 'Atlantica is currently under maintenance. Please try again later' (relies on 'wininet' to initialize sockets API)
+  37064  Ultima IX sometimes crashes on exit
+  37505  window.screenLeft fails silently and stops script execution
+  37506  object.setAttribute('') fails silently and stops script execution
+  37946  ComputeMark v2.1 crashes on startup (needs 'Win32_VideoController' WMI class 'DriverVersion' property)
+  37957  No way to disable "surround sound"
+  38002  imperivm stops at the beginning of the first execution after installing
+  38003  Outlast needs XAPOFX1_5.dll
+  38045  Nitro Family crashes on unimplemented function  msvcp70.dll.??6std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z
+  38046  mshtml not fire BeforeNavigate event if the app: hyper link is in a frame window
+  38050  Nitro Family crashes on unimplemented function msvcp70.dll.?open@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z
+  38055  The Weather Channel for Windows Desktop 2.1.x (.NET 4.0 app) installer crashes
+  38072  GEOVIA Surpac 6.x (geology and mine planning software) installer reports 'WshShell3_Run failed to convert wait argument'
+  38077  Livezilla Client 3.2.x (.NET 2.0 app) fails on startup with 'DRAGDROP_E_NOTREGISTERED' (HtmlDocument2::ExecCommand IDM_FONTSIZE support missing)
+  38080  NeoImaging could crash after start without native winhttp
+  38088  APB Reloaded Launcher (.NET 2.0 app) crashes on startup (some CIM data type to OLE variant (VT) mappings are incorrect)
 
 ----------------------------------------------------------------
 
-Changes since 1.7.35:
+Changes since 1.7.36:
 
-Akihiro Sagawa (3):
-      winmm/tests: Add MPEGVideo driver tests using a wave audio file.
-      mciqtz32: "status mode" returns resource strings.
-      po: Update Japanese translation.
+Alex Henrie (5):
+      kernel32: Support UTF-7 in WideCharToMultiByte.
+      kernel32: Support UTF-7 in MultiByteToWideChar.
+      dpvoice/tests: Add GetCompressionTypes tests.
+      dpvoice: Turn GetCompressionTypes into a semi-stub.
+      cryptui: Fix grammar in warning message.
 
-Andrew Eikum (1):
-      winmm: Allow HMIXEROBJ handles in place of device IDs in mixerGetDevCaps.
+Alexandre Julliard (1):
+      msvcp70: Fix calling convention for a non-member function.
 
-Aurimas Fišeras (1):
-      po: Update Lithuanian translation.
+Alistair Leslie-Hughes (1):
+      shell32: Implement IApplicationAssociationRegistration QueryCurrentDefault.
 
-Austin English (18):
-      include: Add minimal ntdef.h.
-      kernel32: Add GetSystemFirmwareTable stub.
-      include/ddk: Add KWAIT_BLOCK struct to ntddk.h.
-      kernel32: Sync spec file with windowss 7.
-      prntvpt: Add a stub for PTQuerySchemaVersionSupport.
-      msi: Add stubs for MsiEnumClientsExA/W.
-      evr: Add stub dll.
-      include: Add hidusage.h.
-      kernel32: Add CreateHardLinkTransactedA/W stubs.
-      oleaut32: Add a stub for OleSavePictureFile.
-      ntoskrnl.exe: Add a stub for ExInterlockedRemoveHeadList.
-      shdocvw: Add DoFileDownload stub.
-      apphelp: Add a stub for SdbOpenDatabase.
-      cryptui: Add CryptUIDlgSelectCertificateFromStore stub.
-      ktmw32: Add a stub for RollbackTransaction.
-      apphelp: Add a stub for SdbGetFirstChild.
-      apphelp: Add a stub for SdbCloseDatabase.
-      ntoskrnl.exe: Add ExfInterlockedRemoveHeadList stub.
+Andrey Gusev (2):
+      po: Update Ukrainian translation.
+      xapofx1_3: Add stub dll.
 
-Charles Davis (4):
-      configure: Check that we can link to QuickTime.framework before using it.
-      winemac.drv: Always initialize a closure-captured object pointer.
-      ntdll: Support 64-bit Mac OS.
-      dbghelp: Support 64-bit dyld_all_image_infos structures, too.
+Austin English (12):
+      rpcrt4: Add a stub for I_RpcBindingInqLocalClientPID.
+      connect: Add stub dll.
+      mf: Add stub dll.
+      connect: Add IsInternetConnected stub.
+      kernel32: Add SetVolumeMountPointA/W stubs.
+      d3dx9_36: Add D3DXDisassembleShader stub.
+      crytpui: Add CryptUIWizDigitalSign stub.
+      xapofx1_5: Add stub dll.
+      xapofx1_4: Add stub dll.
+      po: Use English names for Programs Files in Lithuanian translation.
+      x3daudio1_1: Add stub dll.
+      include: Add msasn1.h.
 
-Daniel Scharrer (1):
-      kernel32: Add stub implementation for EnumResourceLanguagesEx.
+Bruno Jesus (1):
+      rsaenh/tests: Fix a copy & paste issue.
 
-Henri Verbeet (11):
-      d2d1: Implement d2d_bitmap_brush_GetTransform().
-      d2d1: Implement d2d_linear_gradient_brush_GetTransform().
-      d2d1: Implement d2d_solid_color_brush_GetTransform().
-      d2d1: Implement d2d_bitmap_brush_SetTransform().
-      d2d1: Implement d2d_linear_gradient_brush_SetTransform().
-      d2d1: Implement d2d_solid_color_brush_SetTransform().
-      d2d1: Implement d2d_bitmap_GetPixelSize().
-      d2d1: Implement d2d_bitmap_GetDpi().
-      d2d1: Implement d2d_bitmap_GetSize().
-      d2d1: Implement bitmap brush support for d2d_d3d_render_target_FillRectangle().
-      d2d1: Implement d2d_d3d_render_target_DrawBitmap().
+David Heidelberger (1):
+      dbghelp: Implement DW_TAG_unspecified_type.
 
-Jacek Caban (14):
-      mshtml: Added URI_ flags declaration and improved debug traces.
-      mshtml: Added support for _self target in IHTMLWindow2::open.
-      vbscript: Allow omitting optional function parameters in call expressions.
-      wscript: Added IHost::Echo implementation.
-      mshtml: Use our submit implementation for all windows, but only for POST method.
-      mshtml: Added IHTMLDocument2::ondblclick property implementation.
-      jscript: Added support for VT_UI4 variants.
-      jscript: Don't use builtin property for exposing Boolean constructor.
-      jscript: Don't use builtin property for a few more constructors.
-      jscript: Don't use builtin property for *Error constructors.
-      jscript: Use separated functions for implementing builtin call, get and set operation.
-      jscript: Pass 'this' as jsdisp_t to getters.
-      jscript: Pass 'this' as jsdisp_t to setters.
-      jscript: Fixed handling VT_VARIANT|VY_BYREF types.
+Erich Hoover (5):
+      server: Implement socket-specific ioctl() routine.
+      server: Add socket-side support for the interface change notification object.
+      server: Add blocked support for SIO_ADDRESS_LIST_CHANGE ioctl().
+      server: Implement the interface change notification object.
+      ws2_32/tests: Add an interactive test for interface change notifications.
 
-Josh DuBois (2):
-      buildimage: Fix typo in conditional.
-      buildimage: Allow use of rsvg-convert as alternative to rsvg.
+Frédéric Delanoy (1):
+      po: Update French translation.
 
-Julian Rüger (1):
-      po: Update German translation.
+Gerald Pfeifer (1):
+      vbscript: Avoid use of uninitialized variable in Global_InStrRev().
 
-Ken Thomases (6):
-      winemac: When Cocoa brings a window forward, tell Wine even if it's disabled or no-activate.
-      winemac: Track which window was brought forward by Cocoa separately from the window receiving the click event.
-      winemac: Tell Wine that Cocoa brought a window forward even if a window is being dragged.
-      opengl32: Fix get_current_context_type() to not shift the type bits down.
-      winemac: Prevent interpolation of the window surface image when it's blitted to the actual window.
-      winemac: Raise full-screen windows in front of the status items in the Mac menu bar.
+Hans Leidekker (11):
+      msi: Always update column info after applying a transform to the _Columns table.
+      msi: Get rid of the open streams cache.
+      msi: Get rid of the refcount parameter to msi_addstringW.
+      msi: Don't write streams to storage until the database is committed.
+      wbemprox: Implement Win32_VideoController.DriverVersion.
+      wbemprox: Implement Win32_SID.
+      winhttp: Implement a task queue for asynchronous requests.
+      winhttp: Return an error from winhttp_request_get_ResponseBody if the request is not sent.
+      winhttp: Implement IWinHttpRequest::get_ResponseStream.
+      netapi32: Add a partial implementation of NetUserEnum.
+      wbemprox: Fix the type mapping for Win32_SoundDevice.StatusInfo.
 
-Lauri Kenttä (1):
-      po: Update Finnish translation.
+Henri Verbeet (30):
+      wined3d: Add some warnings when resource_init() fails due to format restrictions.
+      wined3d: Do not validate format restrictions for buffers.
+      wined3d: Implement WINED3DSIH_SQRT in the GLSL shader backend.
+      wined3d: Recognize the SM4 ne opcode.
+      wined3d: Recognize the SM4 or opcode.
+      wined3d: Fix the .spec.
+      d3d10: D3D10CreateStateBlock() is implemented.
+      dxgi: Implement dxgi_device_SetPrivateData().
+      dxgi: Implement dxgi_device_SetPrivateDataInterface().
+      dxgi: Implement dxgi_device_GetPrivateData().
+      wined3d: Add support for appending vertex declaration elements.
+      dxgi: Implement dxgi_adapter_SetPrivateData().
+      dxgi: Implement dxgi_adapter_SetPrivateDataInterface().
+      dxgi: Implement dxgi_adapter_GetPrivateData().
+      dxgi: Implement dxgi_factory_SetPrivateData().
+      dxgi: Implement dxgi_factory_SetPrivateDataInterface().
+      dxgi: Implement dxgi_factory_GetPrivateData().
+      dxgi: Implement dxgi_output_SetPrivateData().
+      dxgi: Implement dxgi_output_SetPrivateDataInterface().
+      dxgi: Implement dxgi_output_GetPrivateData().
+      dxgi: Implement dxgi_surface_SetPrivateData().
+      dxgi: Implement dxgi_surface_SetPrivateDataInterface().
+      dxgi: Implement dxgi_surface_GetPrivateData().
+      dxgi: Implement dxgi_swapchain_SetPrivateData().
+      dxgi: Implement dxgi_swapchain_SetPrivateDataInterface().
+      dxgi: Implement dxgi_swapchain_GetPrivateData().
+      d2d1: Implement d2d_factory_CreateDrawingStateBlock().
+      d3d10core: Get rid of the "partial stub" FIXME in d3d10_device_CreateBuffer().
+      d3d10core: Get rid of the "partial stub" FIXME in d3d10_device_CreateTexture2D().
+      wined3d: Apply modifiers after floatBitsToInt()/floatBitsToUint() in shader_glsl_add_src_param().
 
-Mark Harmstone (6):
-      mmdevapi: Allow PKEY_AudioEndpoint_PhysicalSpeakers to be overridden.
-      dsound: Fix 3D positioning bug with head-relative buffers.
-      mmdevapi: Do nothing on property store Commit.
-      winecfg: Add speaker config controls to audio tab.
-      winecfg: Fix bug causing 5.1 speakers to appear as stereo.
-      include: Add standard effect GUIDs to dsound.h.
+Jacek Caban (21):
+      d3dcompiler.h: Added a few missing D3DCOMPILE_* flags.
+      wscript/tests: Fixed buffer handling and leaks.
+      vbscript: Added InStrRev implementation.
+      ieframe: Keep reference to This in all IDocObjectService callback calls.
+      mshtml: Call FireBeforeNavigate2 for navigation in frames and iframes.
+      wininet: Use proper argument type for ioctlsocket argument.
+      wininet: Use WSAGetLastError in sock_get_error in Windows builds.
+      wininet: Use sock_get_error in a few more places.
+      wininet: Properly check for ioctlsocket failure in NETCON_is_alive.
+      wininet: Properly handle EWOULDBLOCK return from connect().
+      wininet: Initialize winsock before creating socket in Windows builds.
+      wininet: Removed direct errno usage in ftp.c.
+      wininet: Moved INTERNET_GetNextLine to ftp.c.
+      wininet: Use set_socket_blocking helper in a few more places.
+      wininet: Always use winsock sockets.
+      mshtml: Added execCommand("fontsize") support.
+      wininet: Don't strip port part from server name in GetAddress.
+      wininet: Use GetAddrInfoW in GetAddress.
+      wininet: Moved inet_ntop call to GetAddress.
+      wininet: Don't include ws2tcpip.h after zlib.h.
+      mshtml: Use constant instead of define for REDIRECT_* flags.
 
-Matteo Bruni (2):
-      opengl32: Don't use deprecated functions for extension checking purposes on core profile contexts.
-      wined3d: Use the core version of the asynchronous queries functions.
+Ken Thomases (1):
+      gdi32: Change an ERR to a WARN for fonts with too-long names.
 
-Nikolay Sivov (13):
-      dwrite: Initial implementation of GetTypographicFeatures().
-      dwrite: Make sure we don't have duplicates in locale/value pairs for font names.
-      kernel32/tests: Make loader tests independent from each other.
-      kernel32/tests: Remove todo_wine that doesn't work anymore.
-      kernel32: Fix writing resource section as a last section in UpdateResource().
-      kernel32/tests: Remove a couple of duplicated constants.
-      dwrite: Forward GetGdiCompatibleMetrics() to newer call.
-      dwrite: Implement GetCaretMetrics().
-      po: Update Russian translation.
-      dwrite: Simplify collection_find_family().
-      dwrite: Improve error handling during font collection creation.
-      dwrite/tests: Fix couple of leaks when creating test font instance.
-      dwrite: Implement GetGlyphCount().
+Marcus Meissner (3):
+      mshtml: Initialize use_new_window (Coverity).
+      msi: Fix memory leak (Coverity).
+      winex11.drv: Free uriList (Coverity).
 
-Orion Poplawski (1):
-      msvcrt: Bump MSVCRT_MB_LEN_MAX to 5 and use it in MSVCRT__wctomb_l for default buffer lengthSet MB_LEN_MAX to 5 to match MSVCRT_MB_LEN_MAX.
+Mark Harmstone (11):
+      comctl32: Fix clipping error with themed groupboxes.
+      comctl32: Always redraw background on checkbox repaint.
+      comctl32: Draw the focus rect on themed checkboxes.
+      comctl32: Draw focus rect on themed pushbuttons.
+      comctl32: Add themed scrollbar stub.
+      comctl32: Use theming when drawing IP address control.
+      comctl32: Redraw themed editboxes on focus change.
+      comctl32: Fix graphical error on themed progress bars.
+      comctl32: Do not call HEADER_FillItemFrame twice in a row.
+      comctl32: Themed buttons should not draw in System if font unset.
+      winecfg: Draw colour button using theme.
 
-Piotr Caban (11):
-      msvcrt: Handle read buffer flushing in msvcrt_flush_buffer helper.
-      msvcrt: Reset write direction after flush on read/write stream.
-      msvcrt: Add _iswspace_l implementation.
-      msvcrt: Add _iswpunct_l implementation.
-      shell32: Create trash test file in temp directory.
-      shell32: Handle TRASH_EnumItems failures correctly.
-      shell32: Pass trash path to TRASH_EnumItems.
-      shell32: Add partial support for Mac trash enumeration.
-      msvcp71: Added basic_string<char>::insert(iterator, char*, char*) implementation.
-      user32/tests: Added GetMessagePos tests.
-      user32: Only use DIALOGINFO->hwndFocus to store last focus of inactive windows.
+Matteo Bruni (18):
+      wined3d: Directly use the core version of glTex[Sub]Image3D.
+      wined3d: Only copy POSITION0 output semantics into gl_Position.
+      wined3d: Only consider POSITION0 PS inputs as vpos.
+      wined3d: Refuse pixel shaders declaring POSITION0 inputs.
+      d3d9/tests: Add a test for POSITIONi shader input/outputs.
+      wined3d: Call glReadBuffer() through the appropriate function pointer.
+      wined3d: Use GL_CLAMP_TO_EDGE instead of GL_CLAMP.
+      wined3d: Use unsigned short for the bitfields in struct color_fixup_desc.
+      wined3d: Use the proper pitch in read_from_framebuffer().
+      opengl32: Introduce wrappers for glGetIntegerv and glGetStringi. (v3).
+      d3d9/tests: Allow more alternative results in the ATI1N test.
+      d3d8/tests: Allow more alternative results in the ATI1N test.
+      wined3d: Set the surface pitch for user-memory surfaces.
+      wined3d: Reject unsupported pitches in wined3d_surface_update_desc().
+      wined3d: Make sure the correct texture is bound in device_update_volume.
+      wined3d: Set GL_UNPACK_ALIGNMENT to 1.
+      d3d9/tests: Test upload of user memory textures.
+      d3d9/tests: Move a Present out of the loops in fog_with_shader_test().
 
-Sebastian Lackner (2):
-      dbghelp: Don't fill KdHelp structure for usermode applications.
-      slc/tests: Add tests for SLGetWindowsInformationDWORD.
+Michael Stefaniuc (5):
+      msvcrt: Avoid identical if and else bodies (PVS-Studio).
+      riched20: IDC_IBEAM is already an int resource (PVS-Studio).
+      user32: IDI_WINLOGO is already an int resource (PVS-Studio).
+      ole32: Remove an always true conditional subexpression (PVS-Studio).
+      quartz: Remove an always true conditional subexpression (PVS-Studio).
 
-Stefan Dösinger (7):
-      wined3d: Pass WM_SYSCOMMAND(SC_RESTORE) to DefWindowProc.
-      d3d/tests: Show that WM_SYSCOMMAND(SC_RESTORE) is delivered only once.
-      wined3d: Fix the color keyed P8 alpha ref value.
-      wined3d: Don't use TXP for rectangle P8 textures.
-      d3d11: Print UINT sdk_version with %u.
-      d3d11: Switch to d3d-style formatting.
-      wined3d: Check the d3d buffer to find converted attributes.
+Nikolay Sivov (9):
+      wshom.ocx: Properly handle optional argument in Run().
+      vbscript: Fix potential crash if script site creation failed.
+      wshom.ocx: Implement RegRead().
+      wshom.ocx: Implement RegWrite().
+      dwrite: Use vertical variants in GetGlyphs() when appropriate.
+      dwrite: Fix error code returned by GetFontFromFontFace().
+      dwrite: Set facename field of a LOGFONT in ConvertFontFaceToLOGFONT().
+      wshom.ocx: Fix WshShell instance QI behaviour.
+      wshom.ocx: Silence class factory QI fixme.
 
-YongHao Hu (1):
-      msvcp90/tests: Add more tests to ostream_print_complex_float.
+Pierre Schweitzer (1):
+      setupapi: Fix string conversion in SetupGetInfInformationA().
+
+Piotr Caban (7):
+      server: Filter WM_QUIT message in PeekMessage call if PM_QS_POSTMESSAGE was not specified.
+      msvcp: Fix basic_ostream<short>::operator<<(const short*) function export.
+      msvcp70: Export basic_ostream::operator<< functions family.
+      msvcp70: Add basic_{fstream, ifstream, ofstream, filebuf}::open exports.
+      msvcp70: Add basic_istream::operator>> exports.
+      user32/tests: Add tests for window clipping with CS_PARENTDC flag.
+      user32/tests: Test that CS_PARENTDC enables child window to draw over whole parent window.
+
+Stefan Dösinger (13):
+      d3d9/tests: Test rhw table fog z vs rhw.
+      d3d8/tests: Test rhw table fog z vs rhw.
+      ddraw/tests: Test rhw table fog z vs rhw.
+      d3d9/tests: Test rhw depth clip with z enabled but no depth buffer set.
+      d3d8/tests: Test rhw depth clip with z enabled but no depth buffer set.
+      wined3d: Set z = 0.0 via the projection matrix instead of depth clamping.
+      d3d/tests: Geforce8+ GPUs abs() table fog.
+      ddraw/tests: Port D3D1_TextureMapBlendTest to ddraw1.c.
+      ddraw/tests: Port test_texturemapblend to ddraw2.c.
+      ddraw/tests: Port D3D1_ViewportClearTest to ddraw1.c (v2).
+      ddraw/tests: Create a device in test_surface_discard.
+      wined3d: Manage color key changes in the texture.
+      wined3d: Read WINED3D_TEXTURE_COLOR_KEY and gl_color_key to find format conversions.
+
+Thomas Faber (4):
+      wininet: Avoid empty initializer braces.
+      quartz: Avoid empty initializer braces.
+      winegstreamer: Avoid empty initializer braces.
+      gdi32/tests: Avoid variable length arrays (MSVC).
+
+Uwe Bonnes (1):
+      ntdll: Add more serial speed settings.
+
+Yifu Wang (1):
+      msvcr120: Fixed bugs in Concurrency::critical_section.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index f5b0e0e..45fae60 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.7.36
+Wine version 1.7.37
diff --git a/configure b/configure
index 1265c86..d59987b 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Wine 1.7.36.
+# Generated by GNU Autoconf 2.69 for Wine 1.7.37.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.7.36'
-PACKAGE_STRING='Wine 1.7.36'
+PACKAGE_VERSION='1.7.37'
+PACKAGE_STRING='Wine 1.7.37'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -2017,7 +2017,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Wine 1.7.36 to adapt to many kinds of systems.
+\`configure' configures Wine 1.7.37 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2086,7 +2086,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.7.36:";;
+     short | recursive ) echo "Configuration of Wine 1.7.37:";;
    esac
   cat <<\_ACEOF
 
@@ -2282,7 +2282,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.7.36
+Wine configure 1.7.37
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2800,7 +2800,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Wine $as_me 1.7.36, which was
+It was created by Wine $as_me 1.7.37, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -18465,7 +18465,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Wine $as_me 1.7.36, which was
+This file was extended by Wine $as_me 1.7.37, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18536,7 +18536,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Wine config.status 1.7.36
+Wine config.status 1.7.37
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
