diff --git a/ANNOUNCE b/ANNOUNCE
index 42d5745..5184fb9 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,18 +1,16 @@
-The Wine development release 1.9.8 is now available.
+The Wine development release 1.9.9 is now available.
 
 What's new in this release (see below for details):
   - More work towards the WineD3D command stream.
-  - Bug fix update of the Mono engine.
-  - More WebServices reader support.
-  - Still more Shader Model 5 support.
-  - Support for gradients in metafiles.
-  - Improved table formatting in WinHelp.
+  - Service proxies in WebServices.
+  - Query support in the builtin reg.exe utility.
+  - Improved support for long URLs in WinInet.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://dl.winehq.org/wine/source/1.9/wine-1.9.8.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.8.tar.bz2
+  http://dl.winehq.org/wine/source/1.9/wine-1.9.9.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.9.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -28,370 +26,454 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.9.8 (total 26):
+Bugs fixed in 1.9.9 (total 38):
 
-   9030  army men hangs on black screen
-  17918  AvsP Preview window fails to load
-  22762  Multiple DirectX10 games need Texture2D DXGI_FORMAT_R24G8_TYPELESS format support for stencil operations (Battlefield Bad Company 2, Warhammer 40k: Kill Team)
-  24421  MJ's Help Diagnostics crashes on startup (app provided MonitorEnumProc callback relies on ECX = lprcMonitor)
-  31662  Office 2010 font embedding when exporting to PDF
-  32007  AMD Demo - Whiteout crashes with null-ish pointer read after dxgi_output_GetDisplayModeList
-  34070  Simutronics 'StormFront.exe' runs out of wndproc slots (ActiveSkin control)
-  34851  Multiple applications need kernel32 GetFinalPathNameByHandleA/W (64-bit Autodesk Fusion 360, Microsoft OneDrive)
-  35054  Dragon Age 2 system diagnostics tool fails to recognize GeForce GT 425M
-  37460  Sid Meier's Civilization: Beyond Earth (Steam) crashes on startup
-  39444  Fifa 2005 Demo version - black and flashing screen
-  39573  GImageX v2.1.1 (gui for ImageX tool from Windows Assessment and Deployment Kit) crashes on unimplemented function wimgapi.dll.WIMCreateFile
-  39605  GImageX v2.1.1 crashes with unimplemented function wimgapi.dll.WIMGetMountedImages
-  39657  Tencent QQ 7.6  crashes on unimplemented function ntoskrnl.exe.PsRemoveLoadImageNotifyRoutine
-  39730  FillRect() confuses 16bit brush handles with color constants
-  39796  SCP Containment Breach page fault
-  39863  Microsoft .NET Runtime Optimization Service 2.x terminates prematurely due to failure to hook up registry notifier ('RegNotifyChangeKeyValue' must treat NTSTATUS 'STATUS_PENDING' as success)
-  39911  dxd9 PresentationInterval not propagated on device Reset
-  40260  wine-mono 4.6 crash when starting .net app - SIGSEGV (APB Reloaded)
-  40282  mIRC 7.43 options dialog does not accept focus / user input
-  40286  Geforce 980 maxwell card is not properly detected
-  40389  cmd.exe (native): Unimplemented function KERNEL32.dll.GetConsoleAliasExesLengthW
-  40396  Windows SDK DirectWrite sample crashes on uninitialized parameter
-  40397  Warhammer: Mark of Chaos - Battle March Demo needs unimplemented function sfc.dll.SRSetRestorePoint
-  40406  Doom 4 requires bcrypt RNG provider
-  40414  VirtualDub 1.10.4 crashes when attempting to play video with Directx9/11 backend
+  16971  Windows Movie Maker 2.x needs ole32.dll.StgOpenPropStg
+  17257  TeX2Word will not install
+  23768  winhelp: Some images not shown in certain 16-bit Help files
+  25790  WM_SETTEXT handler for the user32 buttons generates WM_CTLCOLOR* inconsistent with Windows user32
+  26955  Prince of Persia SoT: control key bindings don't change properly
+  27035  3DMark Vantage needs unimplemented function d3dx10_43.dll.D3DX10UnsetAllDeviceObjects
+  28825  Mystic Diary - Haunted Island: Multiple sprite-related bugs in hidden object scenes
+  30570  3D Custom Shoujo prints invalid GL operations related to device_clear_render_targets
+  32451  Multiple GOG.com installer bundles show a broken/unresponsive dialog window during installation (installer process running out of wndproc slots)
+  32979  Metal Gear Solid Crash
+  33130  QuarkXPress v9.5 crashes after starting up
+  34598  The cursor doesn't highlight chessboard fields precisely in Chessmaster 10
+  35793  BOTTLENECK program crashes when loading datasets
+  36031  GeForce 9700M incorrectly detected as 9400
+  37087  Gothic 2 english demo fails with 'Conflict: a hook process was found. Please deactivate all Antivirus and Anti-Trojan programs and debuggers.'
+  38102  Process Hacker 2.x needs winsta.dll.WinStationEnumerateW
+  38544  Unable to send messages in Skype 7.4.85.102
+  38865  HiSuite Huwaei Android Smart Device Manager v2.3.55.x crashes on startup
+  39437  Visual Studio 2015-compiled C++ programs do not run (unimplemented function api-ms-win-crt-runtime-l1-1-0.dll._initialize_onexit_table)
+  39543  Multiple games and applications crash on unimplemented function KERNEL32.dll.FreeUserPhysicalPages (Microsoft Office 2007 diagnosis service, Eden Eternal)
+  39608  King Arthur II demo crashes with unimplemented function d3d10_1.dll.D3D10CreateEffectPoolFromMemory with native d3dx10_43 and d3dcompiler_43
+  39622  TeamViewer 11 window does not show "Remote Control" and "Meeting" buttons/tabs.
+  39759  Add support for detect  Nvidia TITAN Black in wine3d/device list
+  39834  Just Cause 2 needs d3dx10_43.dll.D3DX10CreateDevice
+  40112  kernel32:time regression
+  40244  PostThreadMessage with WM_NOTIFY message should succeed
+  40317  PDF Eraser does not open with wine-mono
+  40348  Nvidia 800 series cards not detected correctly
+  40408  Photoshop CC 2015 now crashes when adjusting levels
+  40456  NFS MW + NFS Carbon: Car is flying above/under the track (D3DXVec3Transform needs arguments aliasing)
+  40466  Midnight Commander needs KERNEL32.dll.GetConsoleFontInfo
+  40473  wine fails to compile with >=glibc-2.23
+  40474  Popup menus no longer close when clicking on a different window
+  40487  3dmark Vantage Benchmark: unimplemented functions hal.dll.READ and WRITE PORT
+  40493  Prison Tycoon 4 crashes on start up needing msvcp71.dll.??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAC@Z
+  40518  Guild Wars shows only garbled screen when anti-aliasing enabled
+  40525  schannel:main does not recognize package version 0x400000
+  40551  star craft 2 does not start
 
 ----------------------------------------------------------------
 
-Changes since 1.9.7:
+Changes since 1.9.8:
 
-Aaryaman Vasishta (2):
-      d3drm/tests: Add tests for IDirect3DRM*::CreateObject.
-      d3drm/tests: Add tests for IDirect3DRMObject::Add/DeleteDestroyCallback.
+Aaryaman Vasishta (6):
+      d3drm: Implement Add/Delete destroy callbacks for IDirect3DRMTexture*.
+      d3drm: Implement IDirect3DRM*::CreateObject.
+      d3drm: Use sizeof instead of strlen in d3drm_texture3_GetClassName.
+      d3drm: Use ref and appdata from d3drm_object in d3drm_texture.
+      d3drm/tests: Replace test_Texture.
+      d3drm/tests: Add tests for IDirect3DRMTexture{2-3}_InitFromImage.
+
+Alex Henrie (17):
+      ole32: Fix memory leaks in CompositeMonikerImpl_Construct.
+      ole32/tests: Add tests for StgCreatePropStg and StgOpenPropStg.
+      ole32: Implement StgCreatePropStg.
+      ole32: Implement StgOpenPropStg.
+      qedit: List parameters in order in create function traces.
+      include: Add AMTimeline class and its dependencies.
+      qedit: Stub out AMTimeline.
+      shell32: Add SHLimitInputEdit stub.
+      qedit/tests: Add timeline object creation tests.
+      qedit: Stub out AMTimelineObj.
+      qedit: Implement IAMTimelineObj_GetTimelineType and add tests.
+      qedit: Implement IAMTimelineObj_SetTimelineType and add tests.
+      qedit: Implement IAMTimelineObj_GetTimelineNoRef and add tests.
+      qedit: Return E_POINTER from Timeline_QueryInterface if ppv is NULL.
+      qedit: Remove redundant "return 0" from Release functions.
+      quartz/tests: Print the correct function name when tests fail.
+      quartz: Print This pointer before iface pointer in traces.
+
+Alexander Lakhin (2):
+      user32: Send the correct WM_CTLCOLOR* message in button WM_SETTEXT handler.
+      user32: Send WM_CTLCOLOR* message only for visible buttons.
 
 Alexandre Julliard (4):
-      makefiles: Support installing scripts from the tools directory.
-      makefiles: Generate installation rules for static and import libraries.
-      makefiles: Use the msvcrt build flags also for cross tests.
-      winebuild: Mark the stack non-executable in static import libraries.
+      ole32: Fix a couple of reference leaks.
+      ntdll: Add tests for buffer overflows in NtQueryDirectoryFile.
+      ntdll: Properly check the NtQueryDirectoryFile return status.
+      kernel32: Properly check the NtQueryDirectoryFile return status.
 
-Alistair Leslie-Hughes (5):
-      wined3d: Add detection for NVIDIA GTX TITAN.
-      d3dx10: Add D3DX10UnsetAllDeviceObjects stub.
-      wininet: Free socket when connection is freed.
-      d3d11: Support NULL DepthStecilView pointer in ClearDepthStencilView.
-      d3d11: Support NULL RenderTargetView pointer in ClearRenderTargetView.
+Alistair Leslie-Hughes (12):
+      d3d11: Support NULL views in d3d10_device_ClearDepthStencilView().
+      d3d11: Support NULL views in d3d10_device_ClearRenderTargetView().
+      inetcomm: IMimeMessage has a HBODY_ROOT node by default.
+      mimeole.idl: Add missing Mime Property IDS.
+      inetcomm: Trace all IMimeBody function parameters.
+      inetcomm: Add MimeOleGetPropertySchema stub.
+      mimeole.idl: Correct IMimePropertySchema interface.
+      inetcomm: Implement MimeOleGetPropertySchema.
+      mimeole.idl: Add more OID values.
+      mimeole.idl: Add more MIME_E defines.
+      inetcomm/tests: Add IMimeMessage SetOption tests.
+      wined3d: Add detection for NVIDIA GTX TITAN Series.
 
-Aric Stewart (6):
-      hidclass.sys: Correct input vs output parameters for IOCTL_HID_SET_FEATURE.
-      hidclass.sys: Improvements for IOCTL_HID_GET_FEATURE handling.
-      hid: Implement HidD_SetNumInputBuffers.
-      include: Define REGSTR_VAL_MAX_HCID_LEN.
-      hidclass.sys: Implement IRP_MN_QUERY_ID for HID devices.
-      hidclass.sys: Use the instance id for the device link.
+Andrew Eikum (1):
+      user32: Grammar fix.
 
-Aurimas Fišeras (2):
-      po: Update Lithuanian translation.
-      po: Update Lithuanian translation.
+Andrey Gusev (2):
+      po: Update Ukrainian translation.
+      kernel32/nls: Update currency name and fix a typo.
+
+Aric Stewart (1):
+      winex11.drv: Improve setting IME result text with no composition.
+
+Aurimas Fišeras (1):
+      kernel32/nls: Update currency for Baltic states.
 
 Austin English (7):
-      sfc_os: Add SRSetRestorePointA/W stubs.
-      ntoskrnl.exe: Add PsRemoveLoadImageNotifyRoutine stub.
-      ntoskrnl.exe: Add KeDelayExecutionThread stub.
-      kernel32: Add GetConsoleAliasExesLengthA/W stubs.
-      wimgapi: Add WIMGetMountedImages stub.
-      wimgapi: Add WIMCreateFile stub.
-      sfc_os: Return success in SRSetRestorePointA/W.
+      wine.inf: Create Microsoft Shared/TextConv directory.
+      kernel32: Add GetConsoleFontInfo stub.
+      hal: Add READ_PORT_UCHAR stub.
+      hal: Add WRITE_PORT_ULONG stub.
+      fsutil: Add stub program.
+      winsta: Add a stub for WinStationEnumerateW.
+      kernel32: Add FreeUserPhysicalPages stub.
 
-Bernhard Übelacker (1):
-      ntoskrnl.exe: Make IoAllocateIrp not crash on negative values.
+Caron Wills (5):
+      wined3d: Add Nvidia GeForce 840M.
+      wined3d: Add Nvidia GeForce 845M.
+      wined3d: Add Nvidia GeForce GTX 850M.
+      wined3d: Add Nvidia GeForce GTX 870M.
+      wined3d: Add Nvidia GeForce GTX 880M.
 
-Caron Wills (2):
-      wined3d: Add Nvidia GeForce 820M.
-      wined3d: Add Nvidia GeForce 830M.
+Damjan Jovanovic (2):
+      winex11.drv: Improve some XDND log messages.
+      winex11.drv: Really ignore the drop effect returned from IDropTarget::DragEnter.
 
-Daniel Lehman (8):
-      msvcr120: Add scalbn.
-      ucrtbase: Add some wide functions called on startup.
-      ucrtbase: Add _get_initial_wide_environment.
-      ucrtbase: Return initial env snapshot in _get_initial_narrow_environment.
-      msvcr120: Add remainder.
-      msvcp90: Add codecvt<wchar_t>::do_encoding that returns 0.
-      ucrtbase: Add __stdio_common_vfwprintf.
-      ucrtbase: Add __std_exception_destroy/copy.
+Dmitry Timoshkov (2):
+      user32: Change value of WM_MDICALCCHILDSCROLL to 0x003f.
+      shlwapi: Fix IStream::Read() return value for partial reads.
 
-Dmitry Timoshkov (4):
-      user32: Avoid dereferencing NULL pointer in a trace.
-      windowscodecs: Fix a copy/paste mistake.
-      user32/tests: Add some tests for dialog owner disabled state.
-      windowscodecs: Allocate correct amount of memory for PNG image data.
+François Gouget (35):
+      d3d9/tests: Spelling fixes for a couple of ok() calls.
+      d3dcompiler_43/tests: Fix a needless spelling error in a test.
+      d3dxof/tests: Fix an unknown spelling error in the shader tests.
+      d3dx9_36/tests: Fix an unknown spelling error in the shader tests.
+      windowscodecs: Fix spelling of a few private struct names.
+      crypt32/tests: Fix a spelling error in a comment.
+      windowscodecs/tests: A spelling fix for a converter ok() message.
+      advapi32/tests: Some spelling fixes for the security ok() messages.
+      tools: Assorted comment spelling fixes.
+      gdi32/tests: A spelling fix in a comment.
+      kernel32/tests: Spelling fixes for a couple of comments.
+      ddraw: Spelling and plural fixes in comments.
+      msvcp120/tests: A spelling fix and rewording for an msvcp120 ok() message.
+      msvcp110/tests: A spelling fix and rewording for an msvcp110 ok() message.
+      msvcp120/tests: CreateSymbolicLinkA() may be missing so dynamically load it.
+      mmdevapi/tests: A spelling fix for a render ok() message.
+      mmdevapi/tests: Use RegQueryValueExW() for compatibility with Windows XP.
+      msi/tests: Spelling fixes for some action and package ok() messages.
+      msctf/tests: Spelling fixes for inputprocessor ok() messages.
+      jsproxy/tests: A spelling fix for a jsproxy ok() message.
+      urlmon/tests: Fix a spelling error in a uri comment.
+      shell32/tests: Fix a spelling error in a shellpath comment.
+      shell32/tests: A spelling fix for an shlfolder ok() message.
+      d3dxof/tests: A spelling fix in a d3dxof ok() message.
+      ole32/tests: Fix spelling errors in a couple of comments.
+      inetcomm/tests: Make test_BindToObject() static.
+      cmd: Fix a spelling erro in a TRACE() message.
+      shell32: Fix a spelling error in an ERR() message.
+      schannel: Add declarations for SECPKG version 7.
+      include: Remove duplicate Web Services declarations.
+      ddraw: Remove DDENUMSURFACES_{MATCH,SEARCH}TYPE as they are unused.
+      msvcrt: The fpclass() constants are not defines.
+      mshtml/tests: A spelling fix for a dom ok() message.
+      riched20: Fix a spelling error in a dump message.
+      ole32: Fix a typo in a TRACE() message.
 
-François Gouget (13):
-      wined3d: Fix a typo in an error message.
-      shell32/tests: Fix a race condition in the DDE ShellExecute() tests on Windows 10.
-      hidclass.sys: Fix spelling of a private struct's name.
-      wintrust: Fix spelling of a variable name.
-      quartz: Fix spelling of a BaseOututPin method implementation name.
-      msctf: Fix spelling of a private struct's field name.
-      ole32/tests: Fix spelling of a few variable names.
-      mshtml: Fix spelling of an HTMLEmbedElement method implementation name.
-      tools: Fix spelling of a variable name.
-      include: Fix spelling of a method's parameter name.
-      wineps.drv: Fix spelling of a prototype's parameter name.
-      ole32/tests: Fix spelling of a test function name.
-      ole32: Rightmost spelling fix.
+Frédéric Delanoy (2):
+      po: Update French translation.
+      po: Update French translation.
 
-Hans Leidekker (15):
-      bcrypt: Add support for BCRYPT_RNG_ALGORITHM.
-      webservices: Pass exact size in read_type_struct_field.
-      webservices: Add support for item ranges.
-      webservices: Use addition in read_skip.
-      webservices: Reset the read position if an opening bracket is not followed by a valid name character.
-      webservices: Always skip comment and empty text nodes in WsReadType.
-      webservices/tests: Add more tests for repeating element field mappings.
-      webservices: Fix reader movement for text field mappings.
-      webservices: Fix a typo.
-      webservices: Reject field mappings without a description.
-      webservices: Add support for reading enum values.
+Hans Leidekker (14):
+      jsproxy: Allow multiple calls to InternetInitializeAutoProxyDll.
+      jsproxy: Don't use the length parameters in InternetGetProxyInfo.
+      jsproxy: Validate parameters in InternetInitializeAutoProxyDll and InternetGetProxyInfo.
+      jsproxy/tests: Add tests.
+      webservices: Add generic property handlers.
+      webservices: Implement WsResetHeap.
       include: Add missing Web Services declarations.
-      webservices: Implement WsCreateChannel and WsFreeChannel.
-      webservices: Implement WsGetChannelProperty and WsSetChannelProperty.
-      webservices/tests: Add channel tests.
+      webservices: Implement WsCreateServiceProxy and WsFreeServiceProxy.
+      webservices: Implement WsGetServiceProxyProperty.
+      webservices: Implement WsCreateServiceProxyFromTemplate.
+      webservices: Implement WsOpenChannel and WsCloseChannel.
+      webservices: Implement WsOpenServiceProxy and WsCloseServiceProxy.
+      webservices/tests: Add service proxy tests.
+      kernel32: Improve the stub for GetThreadPreferredUILanguages.
 
 Henri Verbeet (50):
-      wined3d: Use the texture dimension helpers in wined3d_device_create_cursor_texture().
-      wined3d: Use the texture dimension helpers in wined3d_device_set_cursor_properties().
-      wined3d: Use the texture dimension helpers in surface_get_rect().
-      wined3d: Use the texture dimension helpers in surface_create_dib_section().
-      wined3d: Use the texture dimension helpers in surface_is_full_rect().
-      wined3d: Try harder to create a converted surface in surface_convert_format().
-      wined3d: Also update the swap interval when not recreating the context in wined3d_device_reset().
-      wined3d: Avoid surface_from_resource() in swapchain_gdi_present().
-      wined3d: Avoid surface_from_resource() in surface_load_ds_location().
-      wined3d: Return a wined3d_texture_sub_resource structure from wined3d_texture_get_sub_resource().
+      wined3d: Use the texture dimension helpers in context_find_fbo_entry().
+      wined3d: Use the texture dimension helpers in device_clear_render_targets().
+      wined3d: Use the texture dimension helpers in surface_get_drawable_size().
+      wined3d: Use the texture dimension helpers in draw_textured_quad().
       wined3d: Use the texture dimension helpers in surface_download_data().
-      wined3d: Use the texture dimension helpers in surface_upload_from_surface().
-      wined3d: Use the texture dimension helpers in read_from_framebuffer().
-      wined3d: Use the texture dimension helpers in surface_load_fb_texture().
-      wined3d: Use the texture dimension helpers in fb_copy_to_texture_direct().
-      wined3d: Recognise Intel Ivybridge on MacOS.
-      wined3d: Explicitly pass a wined3d_state structure to context_apply_clear_state().
-      wined3d: Use struct wined3d_ffp_attrib_ops for generic attributes as well.
-      wined3d: Merge drawStridedSlow() and drawStridedSlowVs().
-      wined3d: Merge drawStridedFast() and drawStridedInstanced().
+      wined3d: Store renderbuffer IDs in struct wined3d_texture.
+      wined3d: Track the map binding per-texture.
+      wined3d: Merge surface_unload() and volume_unload().
+      wined3d: Properly check for 3D/volume textures in wined3d_device_update_texture().
+      dxgi: Use the correct resource type in dxgi_device_CreateSurface().
+      wined3d: Reject sub-resource types in wined3d_check_device_format().
+      wined3d: Use the texture dimension helpers in surface_set_compatible_renderbuffer().
       wined3d: Use the texture dimension helpers in fb_copy_to_texture_hwstretch().
-      wined3d: Use the texture dimension helpers in surface_translate_drawable_coords().
-      wined3d: Use the texture dimension helpers in surface_blt_special().
+      wined3d: Use the texture dimension helpers in surface_depth_blt().
       wined3d: Use the texture dimension helpers in surface_load_ds_location().
-      wined3d: Use the texture dimension helpers in surface_load_texture().
-      wined3d: Don't evict mapped resources in wined3d_device_evict_managed_resources().
-      wined3d: Store sub-resource map counts in the sub-resource structure.
-      ddraw/tests: Rewrite GetDCFormatTest().
-      ddraw/tests: Add some more surface GetDC() tests to test_getdc().
-      d3d9/tests: Add some more surface GetDC() tests to test_getdc().
-      wined3d: Use the texture dimension helpers in surface_load_renderbuffer().
-      wined3d: Use the texture dimension helpers in surface_load_location().
-      wined3d: Use the texture dimension helpers in wined3d_surface_blt().
-      wined3d: Use the texture dimension helpers in texture3d_prepare_texture().
-      wined3d: Use the texture dimension helpers in wined3d_texture_update_overlay().
-      wined3d: Be more lenient with wined3d_texture_get_dc() calls from ddraw.
-      wined3d: Be more strict with wined3d_texture_get_dc() calls from d3d9.
-      ddraw/tests: Add some tests for the properties of the DC returned by surface GetDC().
-      d3d9/tests: Add some tests for the properties of the DC returned by surface GetDC().
-      gdi32: Implement DC creation from pre-existing memory.
-      wined3d: Use the texture dimension helpers in wined3d_volume_upload_data().
-      wined3d: Use the texture dimensions in swapchain_gdi_frontbuffer_updated().
-      wined3d: Avoid wined3d_texture_get_sub_resource() in surface_load_ds_location().
-      wined3d: Store the power-of-two dimensions in the texture.
-      wined3d: Use the texture dimension helpers in arbfp_blit_set().
-      wined3d: Introduce a helper function to map a wined3d_bo_address.
-      wined3d: Implement texture DC creation on top of D3DKMTCreateDCFromMemory().
-      wined3d: Track SFLAG_DISCARD per-texture.
-      wined3d: Check texture usage/pool/flags in texture_init().
-      wined3d: Check texture usage/pool in volumetexture_init().
+      wined3d: Use the texture dimension helpers in texture2d_prepare_texture().
+      wined3d: Use the texture dimensions in swapchain_blit().
+      winex11: Only warn when an RandR output has no modes.
+      wined3d: Avoid wined3d_resource_get_desc() on a surface in surface_convert_format().
+      wined3d: Implement surface_modify_ds_location() on top of the regular resource location management.
+      wined3d: Evict system memory for complete textures.
+      wined3d: Allocate system memory for complete textures.
+      wined3d: Don't enumerate sub-resources in wined3d_device_reset().
+      wined3d: Store sub-resource parents in struct wined3d_texture_sub_resource().
+      wined3d: Try harder to print something reasonable in wined3d_debug_location().
+      wined3d: No longer make sub-resources full resources.
+      wined3d: Pass a texture and sub-resource index to wined3d_volume_upload_data().
+      wined3d: Return a failure code if creating the staging texture failed in surface_cpu_blt().
+      ddraw: Fix the parameter names for the various Flip() functions.
+      ddraw: Allow DDSCAPS_FLIP without DDSCAPS_PRIMARYSURFACE.
+      ddraw: Require exclusive mode only for primary surface flips.
+      ddraw/tests: Add some tests for draw parameter validation.
+      ddraw: Return early in d3d_device7_DrawIndexedPrimitiveStrided() with a 0 vertex or index count.
+      ddraw: Return early in d3d_device7_DrawIndexedPrimitive() with a 0 vertex or index count.
+      ddraw: Return early in d3d_device7_DrawPrimitiveStrided() with a 0 vertex count.
+      ddraw: Return early in d3d_device7_DrawPrimitive() with a 0 vertex count.
+      ddraw: Return early in d3d_device7_DrawIndexedPrimitiveVB() with a 0 vertex or index count.
+      ddraw: Return early in d3d_device7_DrawPrimitiveVB() with a 0 vertex count.
+      wined3d: Clear the renderbuffer IDs on unload.
+      wined3d: Pass a wined3d_vec4 structure to apply_clamped_constant().
+      wined3d: Pass a wined3d_vec4 structure to walk_constant_heap_clamped().
+      wined3d: Pass a wined3d_vec4 structure to walk_constant_heap().
+      wined3d: Pass a wined3d_vec4 structure to shader_glsl_load_constants_f().
+      wined3d: Pas a wined3d_vec4 structure to shader_arb_load_constants_f().
+      wined3d: Store vertex shader floating point constants as wined3d_vec4 structures.
+      wined3d: Store pixel shader floating point constants as wined3d_vec4 structures.
+      wined3d: Pass wined3d_vec4 structures to wined3d_device_set_vs_consts_f().
+      wined3d: Pass wined3d_vec4 structures to wined3d_device_get_vs_consts_f().
+      wined3d: Pass wined3d_vec4 structures to wined3d_device_set_ps_consts_f().
+      wined3d: Pass wined3d_vec4 structures to wined3d_device_get_ps_consts_f().
 
-Hugh McMaster (2):
-      reg: Clean-up and inform the user if RegDeleteValueW fails when deleting all values in a registry key.
-      reg: Exit with an error message if RegQueryInfoKeyW fails.
+Hugh McMaster (11):
+      reg: Add initial 'query' support.
+      reg: Output value names when querying a registry key.
+      reg: Output a list of subkeys when querying a registry key.
+      reg: Output the value type when querying a registry key.
+      reg: Output the value name and type via a separate function.
+      reg: Correctly output the default value name when querying the registry.
+      reg: Output the data value when querying a registry key.
+      reg: Support recursion when querying a registry key.
+      reg: Add /v and /ve support to reg query.
+      kernel32/tests: Add initial tests for GetConsoleFontInfo.
+      reg: Support recursion when querying a registry value.
 
-Huw D. M. Davies (7):
-      oleaut32: Fix VarDateFromStr for the case of a trailing meridiem indicator.
-      gdi32: Implement recording of the GradientFill EMF record.
-      gdi32: Implement playback of the GradientFill EMF record.
-      oleaut32/tests: Test against floats not integers to silence a clang warning.
-      oleaut32/tests: Fix the size test in the case of an underflow of Lo.
-      gdi32: Use abs() on an integer argument to avoid a clang warning.
-      gdi32/tests: Allocate the font enum data structures.
+Jacek Caban (11):
+      rpcrt4: Added RpcServerRegisterIf3 implementation.
+      secur32/tests: Added missing flags handling to testEnumerateSecurityPackages.
+      wininet: Simplify handling ICU_DECODE in InternetCrackUrlW.
+      wininet: Fixed handling too small buffers in InternetCrackUrlW.
+      wininet: Added new heap_strndupAtoW helper and use it in HttpAddRequestHeadersA.
+      wininet: Use heap_strndupAtoW in InternetOpenUrlA.
+      wininet: Rewrite InternetCrackUrlA to properly handle errors.
+      wininet/tests: Added tests of InternetCrackUrl with URLs longer than INTERNET_MAX_URL_LENGTH.
+      wininet: Don't use INTERNET_MAX_HOST_NAME_LENGTH in InternetGetSecurityInfoByURLW,.
+      wininet: Don't use INTERNET_MAX_* macros in parse_proxy_url.
+      wininet: Don't use INTERNET_MAX_HOST_NAME_LENGTH in InternetCheckConnectionW.
 
-Jacek Caban (19):
-      mshtml: Allow events without event object specified and EVENT_DEFAULTLISTENER flag in dispatch_event.
-      mshtml: Pass node as an object to fire_event.
-      mshtml: Added support for focusin event.
-      mshtml: Added support for focusout event and IHTMLElement4::onfocusout property.
-      mshtml: Added focusin and focusout event tests.
-      mshtml.idl: Added IDOMMessageEvent declaration.
-      mshtml: Added IHTMLWindow6::onmessage property implementation.
-      mshtml: Added IHTMLWindow6::postMessage semi-stub implementation.
-      mshtml: Event tests code clean up.
-      mshtml: Skip headers problematic for cache.
-      mshtml: Added support for sending BSTR over IHTMLXMLHttpRequst::send.
-      mshtml: Added more IHTMLXMLHttpRequst::send tests.
-      user32: Use top level window as dialog parent for modal dialogs.
-      user32: Use GWLP_HWNDPARENT to find an owner in EndDialog.
-      user32: Don't enable owner in DIALOG_DoDialogBox.
-      user32: Use the original owner used to create the dialog for WM_ENTERIDLE messages.
-      user32: Added more tests of handling parent/owner by dialog.
-      winex11.drv: Use InitOnceExecuteOnce in has_opengl.
-      taskschd.idl: Added IDailyTrigger declaration.
+Jean-Christophe Cardot (2):
+      winhlp32: Fix some images not shown in certain 16-bit help files.
+      winhlp32: Use debugstr_a() to trace.
 
-Jactry Zeng (1):
-      gdi32: Load system fonts on Android.
+Jens Reyer (1):
+      msiexec: Fix a typo in the manpage.
 
-Jarkko Korpi (1):
-      wined3d: Add detection for NVIDIA GeForce 425M.
+Józef Kucia (15):
+      wined3d: Add EXT_texture_array extension.
+      wined3d: Create dummy 2D array textures.
+      wined3d: Merge codepaths in surface_download_data().
+      wined3d: Add support for rendering to 2D array textures.
+      dxgi: Trace requested feature levels.
+      wined3d: Print correct resource type in FIXME() message.
+      wined3d: Accept multiple instruction modifiers in SM4+ shaders.
+      wined3d: Add few missing enum values to debug_fbostatus().
+      wined3d: Implement readback from 2D array textures using glGet[Compressed]TexImage().
+      wined3d: Handle 2D array textures in context_dump_fbo_attachment().
+      d3d11: Add ID3D11ClassLinkage interface stub.
+      wined3d: Add "layer_count" parameter to wined3d_texture_create().
+      wined3d: Implement creating 2D array textures.
+      d3d11/tests: Check all sub-resources in check_texture_* functions.
+      d3d11/tests: Add tests for 2D texture RTVs.
 
-Jean-Christophe Cardot (6):
-      winhlp32: Replace magic numbers by symbols.
-      winhlp32: Add some trace calls.
-      winhlp32: Add a warning trace.
-      winhlp32: Prepare winhlp32 for more font types.
-      winhlp32: Rework and rename HLPFILE_HalfPointsToTwips.
-      winhlp32: Fix table formatting.
+Kim Malmo (1):
+      wined3d: Add Nvidia 9700M GT.
 
-Józef Kucia (40):
-      wined3d: Print FIXME() for unknown SM4+ register types.
-      wined3d: Print "state_id" for undefined states.
-      wined3d: Recognize SM5 vDomainLocation register.
-      wined3d: Recognize SM5 vicp register.
-      wined3d: Recognize SM5 vOutputControlPointID register.
-      wined3d: Recognize SM5 vpc register.
-      wined3d: Recognize SM5 hs_control_point_phase opcode.
-      wined3d: Recognize SM5 hs_join_phase opcode.
-      wined3d: Implement SM4 ult instruction.
-      d3d11: Allow to query ID3D11Predicate interface when predicate was created by CreateQuery().
-      d3d11: Allow to pass NULL as "query" to d3d11_device_CreateQuery().
-      d3d11: Allow to pass NULL as "predicate" to d3d11_device_CreatePredicate().
-      d3d11: Allow to pass NULL as "predicate" to d3d10_device_CreatePredicate().
-      d3d11: Allow to pass NULL as "query" to d3d10_device_CreateQuery().
-      d3d10core/tests: Add test for ID3D10Device_CreateQuery().
-      d3d11/tests: Add test for ID3D11Device_CreateQuery().
-      d3d11/tests: Also trace feature level when HAL device cannot be created.
-      d3d11: Fix return values returned by D3D11CreateDevice functions.
-      d3d11/tests: Test exact return values returned by D3D11CreateDevice functions.
-      include: Add D3D11_KEEP_* constants.
-      d3d11: Partially implement OMSetRenderTargetsAndUnorderedAccessViews().
-      d3d10core/tests: Add more tests for texture data initialization.
-      d3d11/tests: Add more tests for texture data initialization.
-      d3d10core/tests: Test creating 2D array textures.
-      d3d11/tests: Test creating 2D array textures.
-      d3d10core/tests: Test creating 2D array texture views.
-      d3d11/tests: Tests creating 2D array texture views.
-      dxgi/tests: Add tests for reference counting.
-      dxgi/tests: Add test for IDXGISwapChain_GetParent().
-      dxgi: Implement dxgi_swapchain_GetDevice().
-      d3d11/tests: Add more tests for D3D11CreateDeviceAndSwapChain().
-      dxgi: Partially implement dxgi_swapchain_GetContainingOutput().
-      dxgi/tests: Add test for IDXGISwapChain_GetContainingOutput().
-      dxgi: Do not store IDXGIOutputs in IDXGIAdapter.
-      dxgi: Store IDXGIAdapter in IDXGIDevice.
-      dxgi: Do not store IDXGIAdapters in IDXGIFactory.
-      dxgi: Do not store IDXGIFactory in IDXGIDevice.
-      dxgi: Implement dxgi_swapchain_GetParent().
-      wined3d: Add shader limits for SM 4.1.
-      d3d11/tests: Add test for creating SM 4.1 shaders.
+Louis Lenders (2):
+      dwrite: Print a FIXME only once in dwritetextanalyzer_AnalyzeNumberSubstitution.
+      kernel32: Print a FIXME only once in LCMapStringEx.
 
-Ken Thomases (1):
-      ntoskrnl.exe: Fix SIB_INDEX() to use REX_X, not REX_R.
+Marcus Meissner (1):
+      hidclass.sys: Add missing case/missing HeapFree (Coverity).
 
-Lauri Kenttä (1):
-      po: Update Finnish translation.
+Matteo Bruni (2):
+      d3dx9: Don't complain when overwriting effect object id 0.
+      d3dx9: Free old object data when reusing effect object.
 
-Michael Müller (6):
-      krnl386.exe16: Emulate 'mov Eb, Gb' instruction on x86 processor architecture.
-      winex11: Add 320x240 as supported resolution in desktop mode.
-      kernelbase: Add missing forwards to advapi32 and user32 functions.
-      kernel32/tests: Add additional tests for overlapped handling of CreateNamedPipe.
-      kernel32: Implement GetFinalPathNameByHandle.
-      compobj.dll16: Fix implementation of StringFromGUID2.
+Michael Müller (8):
+      wbemprox/tests: Add initial tests for ASSOCIATORS query.
+      ws2_32/tests: Add initial tests for DisconnectEx.
+      ws2_32: Add semi-stub for DisconnectEx.
+      ws2_32: Fix getaddrinfo with IPPROTO_IPV6 protocol.
+      wininet/tests: Add more tests for INTERNET_INVALID_PORT_NUMBER.
+      wininet: Fix async check in HTTPREQ_ReadFileEx.
+      wininet: Handle async mode in HTTPREQ_ReadFile.
+      quartz: Recognize MPEG2 program streams.
 
-Michael Stefaniuc (4):
-      comctl32/tests: Use SetRect() instead of open coding it.
-      shell32/tests: Use SetRect instead of open coding it.
-      quartz: Use SetRect instead of open coding it.
-      quartz: Simplify a RECT transformation.
+Michael Stefaniuc (15):
+      user32/tests: Use SetRect instead of open coding it.
+      quartz: Use wine_dbgstr_rect() to trace RECTs.
+      user32: Use wine_dbgstr_rect() to trace a RECT.
+      oleaut32: Use wine_dbgstr_rect() to trace a RECT.
+      msi: Use wine_dbgstr_rect() to trace a RECT.
+      include: Remove unused wine_dbgstr_size().
+      mshtml: Use wine_dbgstr_rect() to trace RECTs.
+      gdi32: Use wine_dbgstr_rect() to trace RECTs.
+      riched20: Use wine_dbgstr_rect() to trace a RECT.
+      uxtheme: Use wine_dbgstr_rect() to trace RECTs.
+      comdlg32: Use wine_dbgstr_rect() to trace a RECT.
+      shell32: Use wine_dbgstr_rect() to trace RECTs.
+      user32: Use wine_dbgstr_rect() to print a RECT.
+      wineps.drv: Use wine_dbgstr_rect() to trace RECTs.
+      comctl32: Use SetRect() instead of open coding it.
 
-Nikolay Sivov (22):
-      t2embed: Implement TTIsEmbeddingEnabledForFacename().
-      t2embed: Implement TTIsEmbeddingEnabled().
-      msxml3/mxwriter: Implement notation declaration output.
-      msxml3/tests: Remove duplicated test check.
-      po: Update Russian translation.
-      usp10: Trace RECT arguments in text output functions.
-      usp10: Some spelling fixes.
-      gdi32: Increase first gdi handle value.
-      comctl32/listview: Handle DPA_SetPtr() failure (Coverity).
-      user32/tests: Message filtering tests for broadcast messages.
-      user32: Limit broadcast messages to system and registered ones.
-      dwrite/tests: Test underline/strikethrough metrics for all system fonts.
-      dwrite: Always return non-zero metrics for strikethrough/underline thickness.
-      ieframe: Simplify IPersist_Load, make error handling more straightforward.
-      ieframe: Convert to integer without additional string buffer allocation.
-      ieframe: Handle storage opening failure in shortcut Load().
-      dwrite: Only use fsSelection to switch to sTypo* metrics, remove table version check.
-      webservices: Fix unsupported options detection (Coverity).
-      wordpad: Use correct buffer size when calling SHGetFolderPathW() (Coverity).
-      dwrite/tests: A test for glyphBox* metrics.
-      po: Update Russian translation.
-      dwrite/tests: Test for superscript/subscript font metrics.
+Nikolay Sivov (39):
+      d3d11/tests: Add a IDXGISurface1 GetDC() test.
+      dwrite/tests: Test for lineGap metric.
+      dwrite/tests: Use existing macro to define font table tags.
+      comctl32/tests: Fix wrong use of HDM_GETITEM when getting item text.
+      comctl32/tests: Simplify static text data initialization.
+      dwrite: Update to IDWriteRenderingParams3.
+      dwrite: Implement GetFontFamily() for IDWriteFontCollection1.
+      dwrite: Fix IDWriteFactory3 methods order.
+      dwrite: Update to IDWriteGdiInterop1.
+      comctl32: Use wine_dbgstr_rect() to trace RECTs.
+      comctl32/monthcal: Remove commented block.
+      dwrite/tests: Added GetFontSignature() test.
+      dwrite/tests: Some basic tests for fontface references.
+      dwrite: Handle NULL path in CreateFontFileReference().
+      dwrite: Accept local loader in CreateCustomFontFileReference().
+      dwrite: Initial implementation of IDWriteFontFaceReference.
+      d3dx10: Implement D3DX10CreateDevice().
+      dwrite: Implement IDWriteFontFaceReference::Equals().
+      dwrite: Fix IDWriteFont3 QueryInterface to respond to its own IID.
+      dwrite: Implement IDWriteFont3::HasCharacter().
+      dwrite: Implement IDWriteFont3::GetFontFaceReference().
+      shell32/tests: Fix some test failures running with limited user.
+      shell32/tests: Use ok() functionality to print line numbers.
+      dwrite: Implement newer version of CreateFontFromLOGFONT().
+      d3dx10: Implement D3DX10GetFeatureLevel1().
+      comctl32: Improve DrawShadowText().
+      d3d10_1/tests: Add a IDXGISurface1 GetDC() test.
+      msvcrt: Fix calloc() prototype.
+      ucrtbase: Implement _initialize_onexit_table().
+      ucrtbase: Implement _register_onexit_function().
+      uxtheme/tests: Only link dynamically for functions that could be missing.
+      kernel32/nls: Convert most of the locale data files to UTF-8.
+      dwrite: For object creation helpers with many arguments pack them in structures.
+      ucrtbase: Implement _execute_onexit_table().
+      msvcrt: Handle overflow in calloc().
+      hnetcfg: Claim success in INetFwOpenPorts::Add().
+      fontsub: Improve CreateFontPackage() stub for TTFCFP_SUBSET case.
+      mshtml: IBindStatusCallback::OnStopBinding() last argument is string pointer.
+      comctl32/tests: Remove some casts we don't need.
 
-Paul Gofman (3):
-      d3dx9: Implement preshader parsing.
-      d3dx9: Implement preshaders disassembly dump.
-      d3dx9: D3DXVec3Transform should support input and output parameter overlap.
+Paul Gofman (10):
+      d3dx9: Implement fxlc constants (expressions) in effect.
+      d3dx9: Add basic opcodes to preshader.
+      d3dx9: Implement array selectors in effect.
+      d3dx9: Add test for D3DXPlaneFromPointNormal arguments aliasing.
+      d3dx9: Get rid of redundant temporary variable in D3DXQuaternionInverse.
+      d3dx9: D3DXVec2Transform should support arguments aliasing.
+      d3dx9: Add test for D3DXVec2TransformCoord arguments aliasing.
+      d3dx9: Implement setting named shader constants in effect.
+      d3dx9: D3DXQuaternionSquadSetup should support arguments aliasing.
+      d3dx9/tests: Add test for D3DXSHMultiply3 arguments aliasing.
 
-Piotr Caban (4):
-      msvcrt: Fix i386 rethrown exceptions handling.
-      ieframe: Restore closed IOleClientSite in DoVerb.
-      ieframe: Improve setting different client site in OleObject_SetClientSite.
-      ieframe: Test setting different client site in OleObject_SetClientSite.
+Piotr Caban (18):
+      riched20/tests: Add negative indentation display test.
+      riched20: Don't allow negative margins in ME_WrapTextParagraph.
+      gdi32: Use advanced graphics mode when setting world transform in PlayEnhMetaFileRecord.
+      gdi32/enhmfdrv: Don't drop viewport/window transformation in StretchBlt.
+      msvcp71: Add basic_istream<char>::operator>> export.
+      msvcr120: Add __ExceptionPtrToBool implementation.
+      jscript: Fix handling of numbers starting with decimal separator.
+      gdi32/enhmfdrv: Fix PolyBezierTo bounding box computation.
+      gdi32/enhmfdrv: Always set ExtTextOut bounding rect if we're not inside path bracket.
+      gdi32/enhmfdrv: Add ExtTextOut tests with unmatched BeginPath/EndPath calls.
+      gdi32/enhmfdrv: Don't update document bounds in Rectangle within a path.
+      gdi32/enhmfdrv: Don't update document bounds in LineTo within a path.
+      gdi32/enhmfdrv: Add enhanced metafile bounds tests.
+      gdi32/enhmfdrv: Don't update document bounds in Arc/Chord/Pie within a path.
+      gdi32/enhmfdrv: Don't update document bounds in Ellipse within a path.
+      gdi32/enhmfdrv: Don't update document bounds in RoundRect within a path.
+      gdi32/enhmfdrv: Don't update document bounds in Polyline within a path.
+      gdi32/enhmfdrv: Don't update document bounds in PolyPolyline within a path.
 
-Qian Hong (1):
-      loader: Fix wld_prctl prototype.
+Sebastian Lackner (23):
+      krnl386.exe16: Do not reassign default handles after they got closed.
+      services: Improve implementation of service_get_pipe_name.
+      services: Hold a reference to process in svcctl_ControlService.
+      taskschd/tests: Fix a use-after-free in scheduler tests.
+      user32: Do not block sending/posting WM_NOTIFY messages.
+      services: Change scmdatabase_remove_service to a void function.
+      user32/tests: Add tests for button WM_CTLCOLOR* messages.
+      services: Track services and processes separately.
+      wininet: Remove unused 'sync' argument from HTTPREQ_Read.
+      reg: Fix a heap corruption when printing specific REG_MULTI_SZ values.
+      server: Increase size of PID table and do not reuse recently freed ptids.
+      server: Do not hold reference on parent process.
+      server: Add missing linebreak to a dump message.
+      server: Fix possible leak of root object in create_named_pipe handler.
+      wined3d: Fix a typo in TRACE message.
+      server: Fix detection of duplicate console history lines.
+      wininet/tests: Add tests for asynchronous InternetReadFileEx.
+      wininet: Send INTERNET_STATUS_RESPONSE_RECEIVED notification in async handler.
+      wininet/tests: Add tests for asynchronous InternetReadFile.
+      user32/tests: Add additional test for window station name.
+      user32: Implement SetCoalescableTimer and add basic tests.
+      quartz/tests: Add initial tests for IFileSourceFilter interface.
+      quartz: Add check for NULL pointer in FileSource_Load.
 
-Rodrigo Rivas Costa (1):
-      user32: Make DeferWindowPos() fail on invalid window handles.
-
-Sebastian Lackner (11):
-      ntoskrnl.exe: Add missing linebreak to FIXME in KeDelayExecutionThread.
-      advapi32: Fix return value of RegNotifyChangeKeyValue for pending events.
-      msi: Fix stack alignment in CUSTOMPROC_wrapper.
-      ntdll/tests: Fix some test failures on Win 8+.
-      ntdll/tests: Add tests for iosb.Status value after pending FSCTL_PIPE_LISTEN call.
-      ntdll: Do not update iosb.Status after FSCTL_PIPE_LISTEN call.
-      ntdll: Preinitialize OS version data in thread_init.
-      ntdll: Handle stack guard pages on x86_64.
-      kernel32/tests: Use inline implementation of NtCurrentTeb for virtual tests.
-      kernel32/tests: Port stack commit tests to x86_64.
-      services: Initialize environment block immediately after startup.
-
-Sergei Bolotov (2):
-      widl: Handle "midl_pragma warning" statement in parser.
-      widl: Support for toggling and checking status for warnings, support for warning 2368.
+Seong-ho Cho (1):
+      configure: Add AC_HEADER_MAJOR to find where major() is defined.
 
 Stefan Dösinger (10):
-      wined3d: Remove the dead wined3d_volume_invalidate_location declaration.
-      d3d10core/tests: Remove dead code.
-      d3d11/tests: Port swapchain_flip() to d3d11.
-      wined3d: Get rid of wined3d_texture_ops.texture_sub_resource_load().
-      wined3d: Pass a texture and sub-resource index to wined3d_texture_ops.texture_sub_resource_upload_data().
-      wined3d: Discard default pool surfaces on unload.
-      d3d9/tests: Add a system memory miptree layout test.
-      d3d8/tests: Add a system memory miptree layout test.
-      wined3d: Explicitly pass a wined3d_state structure to draw_primitive().
-      wined3d: Explicitly pass a wined3d_state structure to context_apply_draw_state().
+      wined3d: Get rid of WINED3D_BUFFER_FLUSH.
+      wined3d: Merge wined3d_surface_prepare() and wined3d_volume_prepare_location().
+      wined3d: Use wined3d_texture_prepare_location() in wined3d_volume_load_location().
+      wined3d: Use wined3d_texture_prepare_location() in device_clear_render_targets().
+      wined3d: Use wined3d_texture_prepare_location() in draw_primitive().
+      wined3d: Use wined3d_texture_prepare_location() in surface_depth_blt_fbo().
+      wined3d: Use wined3d_texture_prepare_location() in surface_blt_fbo().
+      wined3d: Use wined3d_texture_prepare_location() in surface_load_ds_location().
+      wined3d: Use wined3d_texture_prepare_location() in surface_load_sysmem().
+      wined3d: Use wined3d_texture_prepare_location() in surface_load_location().
 
-Vincent Povirk (5):
-      mscoree: Update Wine Mono to 4.6.2.
-      gdiplus: Fix bounds of recorded Metafile objects.
-      gdiplus: Add test for creating a metafile with NULL frameRect.
-      gdiplus: Allow recording metafiles with a NULL frame.
-      gdiplus: Implement GdipRecordMetafileStream.
+Vincent Povirk (1):
+      Revert "user32: Set capture earlier on popup menus.".
 
 --
 Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index ea6f9c5..608f46d 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -801,6 +801,7 @@
 Kieran Clancy
 Kim Jung Eon
 Kim Lilliestierna
+Kim Malmo
 Kimmo Myllyvirta
 Kira Backes
 Kirill K. Smirnov
@@ -1298,6 +1299,7 @@
 Sebastian Gasiorek
 Sebastian Lackner
 Sébastien Ramage
+Seong-ho Cho
 Sergei Bolotov
 Sergei Butakov
 Sergei Ivanov
diff --git a/VERSION b/VERSION
index a226669..f486154 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.9.8
+Wine version 1.9.9
diff --git a/configure b/configure
index 5fb33d6..1f960f0 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.9.8.
+# Generated by GNU Autoconf 2.69 for Wine 1.9.9.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.9.8'
-PACKAGE_STRING='Wine 1.9.8'
+PACKAGE_VERSION='1.9.9'
+PACKAGE_STRING='Wine 1.9.9'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -2134,7 +2134,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.9.8 to adapt to many kinds of systems.
+\`configure' configures Wine 1.9.9 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2204,7 +2204,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.9.8:";;
+     short | recursive ) echo "Configuration of Wine 1.9.9:";;
    esac
   cat <<\_ACEOF
 
@@ -2409,7 +2409,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.9.8
+Wine configure 1.9.9
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2927,7 +2927,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.9.8, which was
+It was created by Wine $as_me 1.9.9, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -18882,7 +18882,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.9.8, which was
+This file was extended by Wine $as_me 1.9.9, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18953,7 +18953,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.9.8
+Wine config.status 1.9.9
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
