diff --git a/ANNOUNCE b/ANNOUNCE
index a2fa14c..00b2b5b 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,15 +1,17 @@
-The Wine development release 1.7.17 is now available.
+The Wine development release 1.7.18 is now available.
 
 What's new in this release (see below for details):
-  - More implementations for the Task Scheduler.
-  - C runtime made more compatible by sharing source files.
-  - Fixes in the Mac OS X joystick support.
+  - Improved OLE Accessible Object support.
+  - Window sizing improvements in the Mac driver.
+  - Fixes for various memory issues found by Valgrind.
+  - A few more MSHTML functions.
+  - Some DirectDraw cleanups.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://prdownloads.sourceforge.net/wine/wine-1.7.17.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.17.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.7.18.tar.bz2
+  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.18.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -25,392 +27,347 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.7.17 (total 89):
+Bugs fixed in 1.7.18 (total 80):
 
-   5454  Ogre3D based game doesn't render 3d objects in D3D7 mode
-   6058  Counter-Strike 1.6 freezes before loggin onto a server
-   6716  Database box is not correctly renewed in IDOS
-  10686  Marangatu fails with "Object doesn't support this action"
-  12327  Team Fortress 2 freezes when starting playin
-  12768  gdi32: metafile.ok fails in a virtual desktop
-  13869  Splinter Cell Demo (2): Shadow polygon offset errors
-  14176  Little Fighter 2 (LF2) crashes with the error message "Couldn't create art surface."
-  14394  Team Fortress 2 crashes and locks up randomly
-  14730  winecfg: adjusted drive mapping lost
-  15162  Team Fortress 2 unstable - random 3d related crashes
-  19968  Half-Life 2: crashes when launching
-  20542  Tropico 3 demo - no lights on textures
-  20785  Artweaver 1.x properties tool window fails to re-dock
-  21432  Mounted ISO is not recognized when wine is run from the source tree
-  21536  Multiple games need 'HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management' 'PagingFiles' registry key (Star Wars: The Force Unleashed, Guitar Hero III)
-  21770  Keyboard doesn't work in games launched from Steam when using virtual desktop
-  22492  Microsoft Money 2003 - Tools menu not displayed
-  23140  Steam: can't create 'new folder' when backing up a game
-  23330  Age of Empires: Install bar with missing percentage and flashing
-  23359  Key input crashes newer source engine games
-  23413  Steam Reports Inaccurate Transfer Speeds
-  23964  Mafia 2 demo (Steam) crashes after logo screen
-  24006  Shadow Vault freezes at startup
-  24616  Launch Battlefield 2 (installed as Steam application) : BF2 crashes immediately
-  24682  Steam overlay is closing when pressing any key
-  25092  Tropico 3 demo - no sea water with scene resolution=high
-  25256  Source based games won't start (Team Fortress 2)
-  25311  Swiss Manager (2000/11/21 build: 8.0.0.239) hangs when exporting tournament results
-  25561  Setting watches (hw breakpoints) in debuggers can generate unhandled floating point stack check exceptions
-  25824  comdlg32:findlg test times out when run under clang
-  26154  Counter-Strike: Source: models and weapons are invisible
-  26182  Half-Life and Team Fortress Classic (Steam) freeze when trying to create a local game or join a server
-  26341  FutureTax 2010-2012 crashes on startup, reporting 'unsupported operation error'
-  26713  Team Fortress 2 (Steam) crashes in the menu
-  27191  Brink: hangs without native msvcr90
-  27501  atlas.ti fails open any project file due to lack in ole32 implementation
-  28068  bwin.com app fails to start
-  28223  kernel32:debugger fails on Windows 7
-  28231  Black Dog Cribbage fails to start
-  28316  kernel32/debugger.ok: exit status of debugger is sometimes 0 when it should be STATUS_ACCESS_VIOLATION
-  28384  Copy to clipboard not working in EMS SQL Manager
-  28580  Acclaim Re-Volt: crashes before getting into race
-  29050  Astral Masters 1.9 refuses to start: 'Failed to init D3D8 object!'
-  29136  Sins of a Solar Empire (Stardock.com/Steam) does not activate
-  29409  Team Fortress 2 (Steam): can't select player class or change team using mouse
-  29645  PCSX2: Software renderer crashes on initialisation when using more than 1 thread
-  29991  Skyrim needs more video memory
-  30126  Matrix Games - Distant Worlds fails on startup (GdipDrawEllipse fails to draw ellipse without HDC)
-  30247  Adobe Connect add-in displays a blank screen
-  30276  Steam installer crashes after clicking first Next button
-  30347  Wine can't handle ® symbol in file "Chessmaster® Grandmaster Edition Manual.pdf"
-  30384  Add support for network connectivity checks using Network List Manager (NLM) API (Vista+)
-  30419  Team Fortress 2 crash - "failed to lock vertex buffer in CMeshDX8::LockVertexBuffer"
-  30914  Osu! Doesn't start
-  31070  Sid Meier's Pirates! (Steam) crashes on startup
-  31359  Magicka (steam) fails to run with "renderTargetIndex" error
-  31799  Monkey Island Special Edition (Steam): "MISE.exe has encountered a serious problem and needs to be closed" (XAudio2 not installed)
-  31891  Radeon HD6670 detected as 3200
-  32275  UK Truck Simulator Demo does not start
-  32887  EVE Online in game browser crashes
-  33322  QQ crashes on start
-  33630  msmoney 2003 crashes when opening data file
-  33980  Borderlands 2 (Steam) fails to start
-  34023  IE8 remains in memory after being closed
-  34269  CompareStringEx does not support NORM_LINGUISTIC_CASING
-  34505  Oblivion elder scrolls wont run Installation
-  34772  The screen of help opens in background. It is partially visible.
-  35066  Battle.net desktop app installer instantly crashes
-  35338  Multiple GOG.com installers complain about missing 'sdbinst.exe' at the end of installation (application compatibility database deployment tool)
-  35401  Battle.net agent fails to update
-  35444  Wayward Terran Frontier Open Alpha (.NET 4.0/XNA 4 game) reports 'Could not find a Direct3D device that supports the XNA Framework HiDef profile'
-  35486  GTX 760 is Detected as an 8800GTX by D3D applications
-  35582  Stealth World of Warcraft update makes 64-bit client crash 5-10 seconds after logging in
-  35600  The Elder Scrolls V: Skyrim (Steam) crashes on startup
-  35623  GetFileVersionInfoA / VerQueryValueA do not work properly under Wine, preventing verification of library versions
-  35626  Patrician III: divide by zero exception scrolling the city view (side effect in user32.SubtractRect())
-  35687  need for speed most wanted
-  35863  ddraw tests sometimes fail to receive their messages
-  35868  DXVA Checker 3.0.x (.NET 2.0 app) needs unimplemented function dxva2.dll.DXVA2CreateVideoService
-  35906  MetaTrader 4 platforms crashes on startup
-  35932  EvoSvc (Evolve Service, .NET 4.0 app) fails to register video codecs with Windows Media Player (missing 'HKLM\\SOFTWARE\\Microsoft\\Multimedia\\WMPlayer\\Extensions' registry key)
-  35945  WM_NOTIFY (LVN_DELETEALLITEMS) message sent from owner-data list view being destroyed
-  35947  winedbg crashes when running tests in gdb mode
-  35965  secur32/{negotiate,ntlm} tests fail with samba/winbind 4
-  35977  Exile: Escape from the pit crashes on startup
-  35983  mz800 emulator hangs on start
-  36006  msxml3/domdoc tests crash with WINEDEBUG=warn+heap
-  36008  urlmon/uri tests crash with WINEDEBUG=warn+heap
+   5944  IBM Lotus Notes 7.x/8.x: 'File > Preferences > User Preferences...' results in crash
+   9667  Grim Fandango hangs if X in 24bpp mode
+  13581  mouse corruption in lionheart
+  14060  Magic: The Gathering Online 3.x fails to connect/login to server
+  15784  Grim Fandango: altered colors
+  16966  Powerslide segfaults
+  17105  Magic: The Gathering Online 3.0 fails to log in with L0014
+  18119  SmartDraw 2009/2010/CI aborts after displaying trial window
+  18433  Rosetta Stone Online Spanish (version 0.87594D 221) hangs at "5" during startup
+  18614  Problem with starting of wine or winecfg
+  19151  Spotify crashes in the mittle of a song and give me a pop-up fault message
+  19896  GPS Utility 5.02 fails to connect to GPS device (USB serial)
+  20336  GetDriveTypeW exposes partially uninitialized out parameter iosb in NtDeviceIoControlFile ?
+  20853  Write buffer overflow in msi/tests/automation.c?
+  22515  Gothic 2 1.3 Infogrames Edition installer crashes
+  22781  ExpressPCB crashes when you try to upload a board
+  23857  Half-Life (Steam) doesn't run
+  23995  Football Manager 2010 fails to start
+  24064  Many steam games crash because of GameOverlayRenderer.dll
+  25241  Steam: Source based games will not start
+  26043  advapi32/security tests shows some leaks in valgrind
+  26066  use after free in X11DRV_GetKeyboardLayout?
+  26639  Steam: crashes randomly while downloading L4D2
+  26895  Microsoft 3D Movie Maker: rendering is red mesh/black text on black background
+  27102  VoipBuster 4.x crashes on startup
+  27413  Segmentation fault in Kudos 2 Demo
+  27441  El Matador crashes when starting a level(ASSERTION failed)
+  28398  Might & Magic VI Heroes - fails to start game, crashes right after menu
+  28621  Magic: The Gathering Online 3.x updater tool 'Kicker.exe' hangs
+  28628  advapi32/security.ok: GetTokenInformation(Token, TokenGroups,...) returns partial garbage leading to uninitialized memory accesses?
+  28695  Uninitialized variables in create_rebar
+  28697  ieframe/tests/ie.ok: Use-after-free (after ImageList_ReplaceIcon)
+  28708  gdiplus/tests/image.ok: test_fromhicon triggers reference of uninitialized variable from SetDIBits
+  28712  winhttp/notification.ok: invalid read in check_notification
+  28761  ddraw/tests: invalid writes in ddraw_surface7_Release and friends
+  28767  shell32: uninitialized memory used during TRASH_EnumItems, triggered by "make recyclebin.ok"
+  28797  comctl32/tests/listview.ok triggers uninitialized memory read of local variable in NC_DrawCaption()
+  28815  kernel32/tests/fiber.ok shows longjmp-related uninitialised memory references
+  28921  Battlefield 3 crashes on installation
+  28943  Notepad2 v4.2.25 installation fails
+  29882  Authorware Web Player 2004 Plugin - mouseClicks and keystroke are not recognized
+  30352  builtin iexplore + selenium hangs on startup
+  30518  Multiple 64-bit applications need KERNEL32.dll.RtlInstallFunctionTableCallback (Mono, Metatrader 5 Agent)
+  30616  7.62 High Calibre configuration tool unusable (can't make changes)
+  31918  Saints Row the Third (Steam) crashes on startup (needs support for PrimitiveMiscCaps 'D3DPMISCCAPS_PERSTAGECONSTANT')
+  32108  Borderlands 2 (Steam) fails to start
+  32138  Dishonored crashes on startup
+  32348  Crysis 2 fails to launch
+  33146  Path of Exile "Allocating Space" very slow, due to NtFlushVirtualMemory being synchronous
+  33347  WISO (Steuer) Sparbuch 2012/2013 fails during online activation (needs HTMLElementCollection_get__newEnum)
+  33606  Spin Tires: black menu with missing text (per-stage constants handling needed)
+  33745  SimCity Societies launcher (.NET app) crashes on startup (incorrect canonicalization of URL containing trade mark sign character U+2122)
+  33958  wine programs crash with joystick connected (OS X)
+  34581  Shadow Era client v20120 (Mono game) reports 'Fatal error in gc - GetThreadContext failed' during update/patching
+  34698  QQGame 2011 can't load (broken app uses LocalAlloc handle as direct buffer without prior locking)
+  34823  Sybase PowerDesigner 16.5 'pdshell16.exe' (.NET 4.x app) fails on startup
+  35321  Wolverine: game crash after Unreal technology logo
+  35788  Planetside 2 crashes on launch (uninitialized/implausible MONITORINFOA.cbSize passed to GetMonitorInfoA, causing stack buffer overwrite)
+  35835  Symantec Norton 360 installer crashes on unimplemented function advapi32.dll.GetTraceLoggerHandle
+  36015  FIFA 2002 demo crashes because gethostbyaddr with magic loopback address return NULL
+  36024  Adobe Reader 8.1.1 fails to install
+  36026  Hawking control center driver install tool crashes during uninstallation (needs shlwapi.SHRegCreateUSKeyA implementation)
+  36036  Does not run WorldOfTanks 0.9 in 1.7.17
+  36043  Battlefield 1942: Crashes after map loading
+  36046  Absolute Blue demo launcher refuses to run
+  36050  Dragon NaturallySpeaking 12.x crashes on unimplemented function msvcr100.dll._wcsupr_l
+  36068  Symantec Norton 360 installer needs advapi32.dll GetTraceEnableLevel and GetTraceEnableFlags stubs
+  36069  invalid free in oleaut32/tests/vartype test
+  36070  Football Manager 2010 demo WMI query 'SELECT Manufacturer,CurrentClockSpeed FROM Win32_Processor' results in endless looping
+  36078  .NET 3.0 installer encounters an error and rolls back the installation
+  36080  Fifa 11 demo crashes on startup
+  36099  Ankh 2: Heart of Osiris fails to start
+  36106  Installshield Wizard:  scrollbar appears where it shouldn't be
+  36114  msi/action definite leak in is_process_limited
+  36132  valgrind shows some leaks in gdiplus/tests/graphics.c
+  36149  valgrind shows some an unintialized variable in jscript/tests/run.c
+  36161  valgrind shows a leak in wmiutils/tests/path.c
+  36177  Saints Row the Third (Steam) crashes on startup (expects 'PixelShader1xMaxValue' >= 32)
+  36207  Steel Beasts v1.19 demo installer crashes on exit
+  36210  Sybase PowerDesigner 16.5 'pdshell16.exe' (.NET 4.x WPF app) wants oleacc.CreateStdAccessibleObject
 
 ----------------------------------------------------------------
 
-Changes since 1.7.16:
+Changes since 1.7.17:
 
-Akihiro Sagawa (6):
-      user32/tests: Don't forget to destroy the parent window after the tests.
-      user32/tests: Add some tests for edit control context menu messages.
-      user32: Don't emit WM_COMMAND on choosing an item in a context menu (Edit control).
-      user32: Emit EM_SETSEL message when choosing "Select All" from context menu.
-      ntdll: Add %gs support for NetBSD.
-      msvcrt: Add MBCS handling for _splitpath.
+Akihiro Sagawa (4):
+      gdi32/tests: Make bmi structure const.
+      msvfw32/tests: Add tests for drawdib.
+      msvfw32: Drawdib doesn't support inverted DIBs.
+      msvfw32: Fix uncompressed bitmap size handling in DrawDibDraw.
 
-Alexandre Julliard (15):
-      makedep: Add a structure to store individual makefile parameters.
-      makedep: Compute source paths instead of loading them from the makefile.
-      makedep: Store more variables in the makefile structure.
-      makedep: Add support for specifying an object directory different from the current directory.
-      makedep: Pass a makefile pointer to all internal functions.
-      makedep: Add a helper function to check if a string exists in an array.
-      makedep: Store the sources list inside the makefile structure.
-      Revert "server: Restore the masks from the previous get_message when a wait is satisfied."
-      user32: Cache the server queue mask on the client side and reset them when they have changed.
-      makedep: Open files from the top-level directory as far as possible.
-      makedep: Parse files as soon as they are loaded, and cache the information.
-      makedep: Store the includes list inside the makefile structure.
-      gdi32: Pass the full DC handle to the hook in DeleteDC.
-      wrc: Allow specifying the default message font in dialogs by setting DS_SETFONT.
-      user32: Load the message box font through the dialog template.
+Alex Henrie (1):
+      bcrypt: Add stub for BCryptOpenAlgorithmProvider.
 
-Alistair Leslie-Hughes (2):
-      hnetcfg: Register NetFwOpenPort interface.
-      sdbinst: New stub program.
+Alexandre Julliard (8):
+      msvcrt: Update comments for non-exported functions.
+      dxguid: Remove some symbols that aren't exported in native.
+      ntdll: Don't wait for writes to complete in NtFlushVirtualMemory.
+      gdi32/tests: Don't fetch the bits into the DIB itself.
+      msvcp90: Fix the mbstowcs_s macro return value.
+      winegcc: Only pass large-address-aware option for i386 builds.
+      user32: Don't bother returning a value from the SetWindowRgn driver entry point.
+      comctl32/imagelist: Correctly resize the alpha flags when clearing the image list.
 
-Austin English (5):
-      gdi32/tests: Skip some tests if Times New Roman is not installed.
-      wine.inf: Add HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles key.
-      wmp: Add HKLM\\Software\\Microsoft\\Multimedia\\WMPlayer\\Extensions key.
-      ntdll: Make sure flags are preserved in raise_trap_exception().
-      user.exe16: Downgrade a couple MESSAGEs to WARNs.
+Alistair Leslie-Hughes (4):
+      include: Add dvoice.h.
+      dpnet/tests: Use dxguid for tests.
+      dpnet: Improve error checking in Get/Set SP.
+      dpnet: Cleanup IDirectPlay8Address.
 
-Bruno Jesus (3):
-      ws2_32: Use the correct address family in gethostbyaddr.
-      po: Update Brazilian Portuguese translation.
-      ws2_32: Convert the magic loopback address back to 127.0.0.1 in gethostbyaddr.
+Andrew Eikum (2):
+      user32: Allow setting horizontal extent even without WS_HSCROLL.
+      user32: Only update listbox horizontal scroll info if WS_HSCROLL is set.
 
-Dmitry Timoshkov (40):
-      schedsvc: Handle directory creation failure in SchRpcRegisterTask.
-      include/vfw.h: Properly declare implicit This* parameter.
-      taskschd: Make ITaskFolder::CreateFolder, ITaskFolder::GetFolder and ITaskFolder::DeleteFolder use the RPC API.
-      taskschd: Reimplement ITaskFolderCollection enumeration using SchRpcEnumFolders.
-      taskschd: Remove registry based task folder management.
-      avifil32: Use correct AddRef helpers.
-      schedsvc/tests: Fix a couple of typos.
-      schedsvc/tests: Avoid test failures on file systems with enabled directory randomization.
-      taskschd: Implement ITaskFolder::DeleteTask.
-      taskschd: Implement task management using RPC APIs.
-      taskschd: Implement IRegisteredTask::get_Name.
-      taskschd: Implement IRegisteredTask::get_Path.
-      schedsvc: Return correct error code when a being loaded xml doesn't exist.
-      schedsvc: Add some tests for SchRpcGetTaskInfo.
-      schedsvc: Add SchRpcGetTaskInfo stub implementation.
-      taskschd: Forward IRegisteredTask::get_State to SchRpcGetTaskInfo.
-      taskschd: Forward IRegisteredTask::get_Enabled to SchRpcGetTaskInfo.
-      taskschd: Add invalid parameter check to IRegisteredTask::get_State and IRegisteredTask::get_Enabled.
-      schedsvc/tests: Add a test for NULL task name passed to SchRpcRegisterTask.
-      schedsvc: Add support for generating new task name in SchRpcRegisterTask.
-      taskschd/tests: Add a test for registering a task with NULL name in a not root folder.
-      taskschd: Add support for registering a task with NULL name in the root folder.
-      oleaut32/tests: Add a test for loading an empty picture from a non-statable stream.
-      oleaut32: Fix loading of an empty picture from a non-statable stream.
-      taskschd/tests: Add some tests for task registration info.
-      taskschd: Implement getters for IRegistrationInfo string properties.
-      taskschd: Implement setters for IRegistrationInfo string properties.
-      kernel32: Filter out console handles in GetFileSize.
-      include/xmldomdid.h: Synchronize with msxml2did.h.
-      secur32: Also recognize samba4 failure message if ntlm_auth could not connect to winbindd.
-      kernel32: Handle memory allocation failure in ReadConsoleA.
-      kernel32: Add a workaround for broken apps that pass negative values to ReadConsole.
-      ole32: Add support for VT_INT/VT_UINT to PropVariantClear and PropVariantCopy.
-      ole32/tests: Add more tests for PropVariantClear.
-      ole32: PropVariantClear should always reset contents of the passed in PROPVARIANT.
-      ole32/tests: Fix crashes in PropVariantClear tests under win2000 and XP.
-      ole32/tests: Fix crashes in PropVariantClear tests under win64.
-      ole32: Revert part of 3cb0c81336.
-      ole32/tests: Add some tests for PropVariantCopy.
-      ole32: If number of VT_VECTOR elements is 0 there is no need to allocate memory.
+Andrew Sheldon (1):
+      wined3d: Add NVIDIA Geforce GTX 780 to supported device list.
 
-Erich Hoover (3):
-      kernel32/tests: Add a variety of tests for CompareStringEx.
-      kernel32: Allow CompareStringEx NORM_LINGUISTIC_CASING flag.
-      kernel32: Allow CompareStringEx LINGUISTIC_IGNORECASE flag.
+André Hentschel (9):
+      advapi32: Add stub for GetTraceLoggerHandle.
+      winemenubuilder: Use boolean return values in boolean functions.
+      wined3d: Add NVIDIA Geforce GTX 780 Ti to supported device list.
+      advapi32: Add stubs for GetTraceEnableFlags and GetTraceEnableLevel.
+      shell32: Use boolean return value in boolean function.
+      dbghelp: Use boolean return value in boolean function.
+      dbghelp: Make pdb_load_stream_name_table a void function.
+      winemenubuilder: Return FALSE on error when processing links and URLs.
+      wscript: Fix function types.
 
-Hans Leidekker (8):
-      netprofm: New dll.
-      netprofm: Add a stub implementation of INetworkListManager.
-      netprofm: Add a class factory implementation.
-      netprofm: Register interfaces.
-      netprofm: Add a couple of tests for INetworkListManager.
-      netprofm: Fix a memory leak.
-      netprofm: Add a stub implementation of INetworkCostManager.
-      msxml3: Fix a couple of memory leaks (valgrind).
+Austin English (1):
+      msxml3: Complain louder if libxslt was missing at compile time.
 
-Henri Verbeet (50):
-      d3d9/tests: Use a separate device for pointsize_test().
-      d3d9/tests: Use a separate device for fixed_function_bumpmap_test().
-      d3d9/tests: Use a separate device for conditional_np2_repeat_test().
-      d3d9/tests: Use a separate device for fixed_function_decl_test().
-      d3d9/tests: Use a separate device for autogen_mipmap_test().
-      d3d9/tests: Use a separate device for texture_transform_flags_test().
-      d3d9/tests: Use a separate device for pixelshader_blending_test().
-      d3d9/tests: Use a separate device for g16r16_texture_test().
-      d3d9/tests: Use a separate device for float_texture_test().
-      d3d9/tests: Use a separate device for release_buffer_test().
-      d3d9/tests: Use a separate device for srgbtexture_test().
-      d3d9/tests: Use a separate device for shademode_test().
-      d3d9/tests: Use a separate device for alpha_test().
-      d3d9/tests: Use a separate device for ds_size_test().
-      d3d9/tests: Use a separate device for offscreen_test().
-      d3d9/tests: Use a separate device for maxmip_test().
-      d3d9/tests: Use a separate device for z_range_test().
-      d3d9/tests: Use a separate device for test_cube_wrap().
-      d3d9/tests: Use a separate device for fog_test().
-      d3d9/tests: Use a separate device for color_fill_test().
-      d3d9/tests: Use a separate device for clear_test().
-      d3d9/tests: Use a separate device for lighting_test().
-      d3d9/tests: Use a separate device for stretchrect_test().
-      d3d9/tests: Use a separate device for depth_clamp_test().
-      d3d9/tests: Make the sanity test a normal test.
-      d3d9/tests: Get rid of some pointless BeginScene() checks.
-      d3d8/tests: Get rid of some pointless BeginScene() checks.
-      d3d9/tests: Properly declare matrices.
-      d3d8/tests: Properly declare matrices.
-      ddraw/tests: Try to make test_coop_level_mode_set() more reliable.
-      wined3d: Set VTF filter caps when VTF is supported.
-      wined3d: Set the WINED3DPBLENDCAPS_SRCALPHASAT destination blend cap when ARB_blend_func_extended is supported.
-      d3d8/tests: Make the sanity test a normal test.
-      d3d8/tests: Use a separate device for add_dirty_rect_test().
-      d3d8/tests: Use a separate device for volume_v16u16_test().
-      d3d8/tests: Use a separate device for volume_dxt5_test().
-      d3d8/tests: Use a separate device for fog_special_test().
-      d3d8/tests: Use a separate device for resz_test().
-      d3d8/tests: Use a separate device for zenable_test().
-      d3d8/tests: Use a separate device for multisample_copy_rects_test().
-      d3d8/tests: Use a separate device for shadow_test().
-      d3d8/tests: Use a separate device for intz_test().
-      d3d8/tests: Use a separate device for depth_buffer2_test().
-      d3d8/tests: Use a separate device for depth_buffer_test().
-      d3d8/tests: Use a separate device for texop_test().
-      d3d8/tests: Use a separate device for p8_texture_test().
-      d3d8/tests: Use a separate device for cnd_test().
-      d3d8/tests: Use a separate device for fog_with_shader_test().
-      d3d8/tests: Use a separate device for test_scalar_instructions().
-      d3d8/tests: Use a separate device for alpha_test().
+Bruno Jesus (1):
+      dinput: Remove duplicated TRACE check.
 
-Hermès Bélusca-Maïto (1):
-      shell32: Automatically expand CPL applet path string.
+Dmitry Timoshkov (3):
+      user32/tests: Add AppendMenu/ModifyMenu MF_POPUP tests.
+      user32: When converting from MF_ flags to MENUITEMINFO ignore MF_POPUP if id is not a menu.
+      ole32: Add support for VT_DISPATCH/VT_UNKNOWN to PropVariantClear and PropVariantCopy.
 
-Huw D. M. Davies (3):
-      ntdll: Add a replacement getmntent for Android.
-      ntdll: For Android look in /proc/mounts for mounted file systems.
-      wineps: Always initialize the Windows page type.
+Erich Hoover (1):
+      user32: Reduce the minimum Set[System]Timer from 15 ms to 10 ms.
 
-Jacek Caban (7):
-      mshtml: Ignore QueryHitPoint calls in activex.c tests.
-      services: Skip tests if OpenSCManager failed.
-      qcap: Store max frame size separately from video format bitmap info and restore it before each ICCompress call.
-      mshtml: Ignore &IID_IWebBrowserPriv2IE7 in wb_qi.
-      cscript: Share sources with wscript.
-      wscript: Added WScript.CreateObject implementation.
-      secur32: Fixed schannel tests on Windows 8.1.
+François Gouget (3):
+      ddraw: Remove WINAPI on static functions where not needed.
+      ole32/tests: Add a trailing '\n' to an ok() call.
+      dpnet/tests: Add a trailing '\n' to an ok() call.
 
-Julian Rüger (1):
-      po: Update German translation.
+Frédéric Delanoy (2):
+      po: Update French translation.
+      Assorted spelling/grammar fixes.
 
-Ken Thomases (7):
-      dinput: Rename identifiers to get rid of Hungarian notation and deceptive names in Mac code.
-      dinput: Fix check of wrong result value due to copy/paste error.
-      dinput: Use the proper mutable Core Foundation types for mutable collections and avoid casting.
-      dinput: Overhaul how the array of Mac device elements is built and sorted.
-      dinput: Check array indexes to avoid exceeding array bounds.
-      dinput: Fix numerous leaks.
-      dinput: Add additional debug logging to Mac code.
+Gerald Pfeifer (1):
+      readme: Raise the minimum version of FreeBSD to 8.0.
 
-Marcus Meissner (4):
-      comctl32: Process GetKeyState return correctly (Coverity).
-      usp10: Fixed border condition in shifts (Coverity).
-      server: Use longer int in bitshift operation (Coverity).
-      winhttp: Avoid leaking authinfo on error (Coverity).
+Hans Leidekker (6):
+      wbemprox: Return selected properties only from IWbemClassObject::GetNames.
+      wbemprox: Return selected properties only from IWbemClassObject::Next.
+      wbemprox: Implement Win32_Processor.CurrentClockSpeed.
+      wmiutils: Fix a memory leak (valgrind).
+      msi/tests: Fix a couple of memory leaks (valgrind).
+      msi: Avoid a crash when MIME entries point to non-existing extensions.
 
-Matteo Bruni (5):
-      d3d9/tests: Add a test for timestamp queries.
-      wined3d: Add support for GL_ARB_timer_query extension.
-      wined3d: Add support for timestamp queries.
-      d3dx9: Copy the entire vector at once if there is no need of type conversions.
-      d3dx9: Skip the AddRef/Release calls if the new texture is the same as the old one.
+Henri Verbeet (30):
+      d3d8/tests: Use a separate device for offscreen_test().
+      d3d8/tests: Use a separate device for z_range_test().
+      d3d8/tests: Use a separate device for fog_test().
+      d3d8/tests: Use a separate device for clear_test().
+      d3d8/tests: Use a separate device for lighting_test().
+      d3d8/tests: Use a separate device for depth_clamp_test().
+      d3d8/tests: Use a separate device for test_sanity().
+      d3d8/tests: Handle the Windows 8 testbot results in zenable_test().
+      d3d8/tests: Handle the Windows 8 testbot results in cnd_test().
+      wined3d: Ignore invalid PCI vendor/device overrides.
+      wined3d: Simplify the driver version info lookup in init_driver_info().
+      wined3d: Introduce a separate function to calculate the pitch for a given format and width.
+      ddraw: Validate the pitch for user memory surfaces against the unaligned minimum pitch.
+      wined3d: Implement support for per-stage texture stage constants.
+      wined3d: Get rid of surface_set_texture_target().
+      ddraw: Implement D3DOP_STATELIGHT on top of IDirect3DDevice3_SetLightState().
+      ddraw: Implement D3DOP_STATERENDER on top of IDirect3DDevice3_SetRenderState().
+      ddraw: Cleanup the D3DOP_PROCESSVERTICES implementation a bit.
+      ddraw: Cleanup d3d_execute_buffer_QueryInterface().
+      ddraw: Don't return an error when setting a 0 material handle in d3d_device3_SetLightState().
+      ddraw/tests: Handle the Windows 8 testbot in test_primary_palette().
+      ddraw: Disable lighting when a 0 material handle is set.
+      ddraw: Reject setting a 0 material handle in d3d_viewport_SetBackground().
+      ddraw: Only output a warning when clearing a viewport without background material.
+      ddraw/tests: Add some basic material tests.
+      wined3d: Bump ps_1x_max_value.
+      wined3d: Fix a couple of string declarations.
+      ddraw: Cleanup DDRAW_dump_pixelformat().
+      d3dcompiler: Make some string arrays const.
+      d3d9/tests: Merge vertexdeclaration.c into device.c.
 
-Michael Stefaniuc (2):
-      netprofm: COM cleanup for INetworkListManager.
-      netprofm: COM cleanup for IClassFactory.
+Huw D. M. Davies (4):
+      include: Add a few missing out-precision and clip-precision defines.
+      shlwapi/tests: Fix win8 test failures.
+      ole32/tests: Fix win8 test failures.
+      kernel32/tests: Fix test for win8 heap layout.
 
-Nikolay Sivov (37):
-      user32: Fix Edit margins calculation for empty client area case.
-      dwrite: Return default text format properties.
-      dwrite: Store text format properties.
-      user32: Added RegisterPowerSettingNotification() stub.
-      include: Added dwrite_2.idl.
-      msxml3/tests: Protect from invalid array access (Coverity).
-      services: Remove redundant error code check (Coverity).
-      dwrite: Added GetTrimming()/SetTrimming() for text format.
-      dwrite: Added partial implementation for CreateEllipsisTrimmingSign().
-      msxml3: IXSLProcessor_put_output() is not a stub.
-      comctl32: Fix LVN_DELETEALLITEMS notification for LVS_OWNERDATA case.
-      qedit/tests: Fix a file handle leak on error path (Coverity).
-      msi: Fix a leak on error path (Coverity).
-      msi: Fix a leak on error path (Coverity).
-      shell32: Fix a leak of memory pointing to XDG_PARSED_FILE (Coverity).
-      shell32: Fix a cloned pidl leak (Coverity).
-      shlwapi: Always close find handle (Coverity).
-      winhlp32: Remove unused assignments (Coverity).
-      msxml3: Fix transformation result output for stream and BSTR cases.
-      quartz: Check GetCurFile() return value (Coverity).
-      dsound: Remove duplicated parameter check (Coverity).
-      crypt32: Fix properties list lookup (Coverity).
-      winhttp: Use proper deallocator (Coverity).
-      shlwapi: Use a proper deallocator (Coverity).
-      shell32: Use a proper deallocator (Coverity).
-      kernel32/tests: Added missing comma (Coverity).
-      riched20: GetClientSite() is implemented for IRichEditOle so uncomment related code (Coverity).
-      wininet: Remove some dead code (Coverity).
-      wine.inf: Fix FontCache service registration info.
-      svchost: Simplify error handling, fix trace message.
-      msxml3/tests: Fix accessing released intreface pointer.
-      urlmon/tests: Fix use after free of IPersistStream interface.
-      wshom: Added a stub for IWshEnvironment.
-      wscript: Ignore 'nologo' switch.
-      shlwapi: Fix UrlEscapeW() for non-ASCII range.
-      include: Added some ATL interfaces.
-      atl: Simplify error handling in AtlAxAttachControl().
+Jacek Caban (17):
+      mshtml: Added IHTMLElementCollection::get__newEnum implementation.
+      mshtml: Added IHTMLElementCollection::get__newEnum tests.
+      mshtml: Fixed HTMLElementCollectionEnum_Next implementation for NULL pCeltFetched.
+      mshtml: Added IHTMLDOMChildrenCollection::get__newEnum implementation.
+      mshtml: Added IHTMLDOMChildrenCollection::get__newEnum tests.
+      vbscript: Return proper error on invalid argument in Chr.
+      mshtml: Added IConnectionPoint::EnumConnections implementation.
+      ieframe: Improved debug traces.
+      mshtml: Introduce a new debugstr_mshtml_guid helper for printing GUIDs.
+      mshtml: Renamed nsIDOMHTMLSelectElement::Remove to select_Remove to avoid conflict with nsIDOMElement.
+      mshtml: Removed invalid nsAString_InitDepend from HTMLTable_put_bgColor and fixed error handling.
+      jscript: Fixed uninitialized variable access in interp_end_finally.
+      iexplore: Mark iexplore.exe as large address aware.
+      vbscript: Forward Invoke call to InvokeEx.
+      msctf: Added ITfInputProcessorProfileMgr interface stub implementation.
+      vbscript: Allow property getters to take arguments.
+      vbscript: Added InvokeEx(DISPATCH_PROPERTYGET) implementation.
 
-Piotr Caban (18):
-      ole32: Null terminate strings in STREAM_ReadString function.
-      ole32: Don't write empty CLIPFORMAT in WriteFmtUserTypeStg.
-      ole32: Try to open 1Ole stream before trying to create it in SetConvertStg function.
-      ole32: Get CLSID from IStorage object in WriteFmtUserTypeStg.
-      ole32: Add OleDoAutoConvert implementation.
-      ole32: Add more SetConvertStg amd WriteFmtUserTypeStg tests.
-      server: Don't debug children when DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS flags are passed to CreateProcess.
-      user32: Don't fail on windows without menu bar in DrawMenuBar.
-      user32/tests: Fix DrawMenuBar test failures.
-      msvcrt: Fix compilation errors on Mingw.
-      msvcr100: Move functions implementation to msvcrt.
-      msvcr90: Share the source code with msvcrt.
-      msvcr100: Share the source code with msvcrt.
-      msvcr110: Share the source code with msvcrt.
-      msvcr70: Share the source code with msvcrt.
-      msvcr71: Share the source code with msvcrt.
-      msvcr80: Share the source code with msvcrt.
-      msvcr80: Remove remaining forwards to msvcrt.
+Jérôme Gardou (1):
+      msi: Expand REG_EXPAND_SZ keys when resolving AppSearch entries.
 
-Ryan Turner (2):
-      wined3d: Add NVIDIA Geforce GTX 760 to device list.
-      wined3d: Add NVIDIA Geforce GTX 750 to device list.
+Ken Thomases (5):
+      winex11: Remove dead store into win_gravity in get_window_attributes().
+      winemac: For GetKeyNameText(), use the hard-coded table in preference to the Mac keyboard layout.
+      winemac: Send WM_SIZING messages during resizing to let app alter the proposed size.
+      winemac: Disable moving or resizing windows when cursor clipping is in effect.
+      configure: Use the discovered LCMS2_LIBS when testing linking against lcms2.
 
-Sebastian Lackner (5):
-      ntdll: Unify exception function lookup on x86_64.
-      ntdll: Implement RtlAddFunctionTable / RtlDeleteFunctionTable for x86_64.
-      ntdll: Implement RtlInstallFunctionTableCallback on x86_64.
-      ntdll/tests: Add tests for dynamic unwind table.
-      kernel32: Forward RtlInstallFunctionTableCallback to ntdll.
+Matteo Bruni (7):
+      d3dx9/tests: Release the device when skipping some tests.
+      d3dx9/tests: Don't fail a test if volume textures are not supported.
+      d3dx9/tests: Fix expected values when mipmaps on cube maps are not supported.
+      d3dx9/tests: Take MaxVolumeExtent into account in some tests.
+      d3dcompiler: Remove a couple of noisy traces.
+      d3dcompiler: Pre/post increment/decrement operators are unary.
+      d3dcompiler: add_func_parameter is only used in hlsl.y.
 
-Stefan Dösinger (8):
-      d3d9/tests: Add a test for (sub-) resource types.
-      d3d8/tests: Add a test for (sub-) resource types.
-      ddraw/tests: Add mipmap locking tests.
-      d3d9/tests: Test locking of mipmap textures.
-      d3d8/tests: Test locking of mipmap textures.
-      ddraw/tests: Nvidia has an off-by-one rectangle handling bug.
-      dxgi/tests: Add private data tests.
-      ddraw: SetPrivateData(..., data = NULL, ...) is not valid.
+Nikolay Sivov (23):
+      gdiplus: Properly delete a DC.
+      services: Remove loop that's not really used anymore (Coverity).
+      atl: Move IUnknown methods to IOleClientSite.
+      po: Update Russian translation.
+      comctl32/treeview: Restore hdc before CDDS_ITEMPOSTPAINT.
+      mshtml/tests: Remove old system version check that doesn't work anymore.
+      netprofm/tests: Fix a test failure on Win7/Win2008 systems.
+      shlwapi: Implement SHRegCreateUSKeyA().
+      oleaut32: Properly free record name (Valgrind).
+      uxtheme/tests: No need to check last error when error code is explicitly returned.
+      advapi32/tests: Fix some leaks in tests (Valgrind).
+      comctl32/tests: Initialize text buffer pointer (Valgrind).
+      crypt32/tests: Fix some leaks (Valgrind).
+      gdi32/dibdrv: Fix a clipped_rects leak (Valgrind).
+      dwrite/tests: Fix a font instance leak (Valgrind).
+      gdiplus/tests: Fix some leaks when running with Wine (Valgrind).
+      gdiplus: Simplify GdipResetImageAttributes(), fix remap table leak (Valgrind).
+      msxml3: Fix a leak when trying to add to readonly collection (Valgrind).
+      msxml3/tests: Fix enumerator instance leak (Valgrind).
+      msxml3: Fixed attribute value string leak (Valgrind).
+      msxml3: Fix XPath query result leak (Valgrind).
+      msxml3/tests: Fixed attributes map leak (Valgrind).
+      oleaut32: Always free TLIBATTR in LoadRegTypeLib() (Valgrind).
+
+Patrick Rudolph (4):
+      user32: Check for valid cbSize in GetMonitorInfoA.
+      user32/tests: Add tests for valid cbSize in GetMonitorInfoA.
+      user32: Check for valid cbSize in GetMonitorInfoW.
+      user32/tests: Add tests for valid cbSize in GetMonitorInfoW.
+
+Piotr Caban (28):
+      msvcrt: Don't raise exception in _invalid_parameter.
+      msvcrt: Remove _set_invalid_parameter_handler calls from msvcrt tests.
+      msvcrt: Remove no longer needed exports.
+      msvcrt: Use win_skip when function is not exported.
+      msvcrt/tests: Fix _popen test failures when path contains spaces.
+      msvcr80: Add type_info::name partial implementation.
+      msvcrt: Don't use default process heap.
+      include: Don't redefine LIBID_Accessibility in oleacc.idl.
+      oleacc: Add LresultFromObject implementation.
+      oleacc: Add ObjectFromLresult implementation.
+      oleacc: Add initial LresultFromObject tests.
+      oleacc: Add AccessibleObjectFromWindow implementation.
+      oleacc: Add AccessibleObjectFromWindow tests.
+      msvcrt: Add _wcsupr_l implementation.
+      msvcrt: Handle seh exception rethrowing in catch_function_nested_handler.
+      msvcrt: Handle seh exceptions rethrowing in cxx_frame_handler.
+      oleaut32: Handle VariantCopy errors in VariantChangeTypeEx.
+      oleacc: Add default client accessible object stub.
+      oleacc: Add Client_get_accChildCount implementation.
+      oleacc: Add Client_get_accName implementation.
+      oleacc: Add Client_get_accValue implementation.
+      oleacc: Add Client_get_accDescription implementation.
+      oleacc: Add Client_get_accRole implementation.
+      oleacc: Add Client_get_accHelp implementation.
+      oleacc: Add Client_get_accDefaultAction implementation.
+      oleacc: Add Client_get_accHelpTopic implementation.
+      oleacc: Add Client_get_accRole implementaiton.
+      oleacc: Add tests for default client accessible object.
+
+Qian Hong (2):
+      wscript: Don't fail silently for unsupported switches.
+      include: Added some ATL function prototypes.
+
+Stefan Dösinger (7):
+      ddraw: Only ddraw7 disallows SetPalette on sublevels.
+      ddraw/tests: Add a test for mipmap palettes.
+      ddraw/tests: Test P8 to RGB blits.
+      ddraw/tests: Skip the ddraw7 primary palette test if 8 bpp mode doesn't work.
+      ddraw/tests: Add a test for getdc palette handling.
+      ddraw/tests: Test mipmap GetDC behavior.
+      wined3d: Remove broken gdi palette code.
 
 Thomas Faber (2):
-      ntdll/tests: Add tests for RtlUnicodeToUTF8N.
-      ntdll/tests: Add tests for RtlUTF8ToUnicodeN.
+      usp10: Do not write to last script item if buffer space is insufficient.
+      qmgr: Register WINE_REGISTRY resource in DllRegisterServer instead of a nonexistent inf file.
 
-Vincent Povirk (2):
-      gdiplus: Prevent NULL StringFormat in gdip_format_string.
-      user32: Allow EndMenu() calls from WM_ENTERMENULOOP.
+Victor Martinez Calvo (2):
+      dbghelp: Fix invalid assignment in symt_fill_sym_info.
+      msvcrt: Avoid null dereference in TRACE in MSVCRT__wfreopen.
 
-Vitaly Lipatov (1):
-      po: Revise Russian translation.
+Vincent Povirk (14):
+      user32/tests: Add test calling EndMenu from WM_ENTERMENULOOP.
+      user32/tests: Add a message test for popup menus on windows that have capture.
+      user32/tests: Our popup test window loses capture to itself.
+      shell32: Respect CMIC_MASK_NO_CONSOLE in ShellLink InvokeCommand.
+      shell32: Pass MASK_NO_CONSOLE through to context menu handlers.
+      shell32: Use CREATE_NEW_CONSOLE when SEE_MASK_NOCONSOLE is omitted.
+      shell32/tests: Use SEE_MASK_NO_CONSOLE with ShellExecuteExA.
+      start: Don't use SEE_MASK_NO_CONSOLE.
+      appwiz.cpl: Don't use SEE_MASK_NO_CONSOLE to run installers.
+      ole32/tests: Add tests for storage locking.
+      ole32/tests: Add tests for sharing storages in transacted mode.
+      ole32: Reserve the range lock sector.
+      ole32: Initial storage file locking implementation.
+      gdiplus/tests: Fix image leak in graphics test.
 
 Zhenbo Li (2):
-      mshtml: Don't free a string too early.
-      mshtml: Added IHTMLTable::bgColor property implementation.
+      mshtml: Added IHTMLElement3::contentEditable property implemention.
+      mshtml: Added IHTMLTable::width property implementation.
 
 --
 Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index bdb5776..c3ba295 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -106,6 +106,7 @@
 Andrew Lewycky
 Andrew Nguyen
 Andrew Riedi
+Andrew Sheldon
 Andrew Talbot
 Andrew Taylor
 Andrew Webb
diff --git a/VERSION b/VERSION
index a39090d..ffee510 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.7.17
+Wine version 1.7.18
diff --git a/configure b/configure
index 0db221c..e5a26d1 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.17.
+# Generated by GNU Autoconf 2.69 for Wine 1.7.18.
 #
 # 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.17'
-PACKAGE_STRING='Wine 1.7.17'
+PACKAGE_VERSION='1.7.18'
+PACKAGE_STRING='Wine 1.7.18'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1973,7 +1973,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.17 to adapt to many kinds of systems.
+\`configure' configures Wine 1.7.18 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2042,7 +2042,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.7.17:";;
+     short | recursive ) echo "Configuration of Wine 1.7.18:";;
    esac
   cat <<\_ACEOF
 
@@ -2237,7 +2237,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.7.17
+Wine configure 1.7.18
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2755,7 +2755,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.17, which was
+It was created by Wine $as_me 1.7.18, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -18082,7 +18082,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.17, which was
+This file was extended by Wine $as_me 1.7.18, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18153,7 +18153,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.17
+Wine config.status 1.7.18
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
