diff --git a/ANNOUNCE b/ANNOUNCE
index 06859bf..88767ae 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,17 +1,16 @@
-The Wine development release 1.1.6 is now available.
+The Wine development release 1.1.7 is now available.
 
 What's new in this release (see below for details):
-  - Beginnings of schannel implementation using GnuTLS.
-  - Many fixes from various code analysis tools.
-  - Support for X11 desktop work area.
-  - Fixes for Richedit tables.
-  - More complete JavaScript support.
+  - Improved device management for DOS drives.
+  - Many Richedit fixes.
+  - Various installer fixes, particularly for IE 7.
+  - First steps of Direct3D 10 implementation.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.6.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-1.1.6.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.7.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.1.7.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -27,885 +26,762 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.1.6:
+Bugs fixed in 1.1.7:
 
-   2122  wrong window size on startup, busted graphics and invisible text in listboxes.
-   3875  ACM format codecs shutdown sound in WINE
-   3915  Win32 GTK apps are all black when run in WINE (dogfood)
-   5008  Wine 0.9.11 does not run applications on FreeBSD 6.0
-   5145  Microsoft Visual C++ Runtime Library (Etherlords 2 Demo)
-   6253  EQ II Patcher Fails
-   6382  CaptureWizard fails to install
-   7051  EVE Online isn't displaying some elements of the ui
-   7186  fonts in applications using cairo ( not only through GTK )
-   7200  Tab control flickers too much
-   7257  Documents Manager doesn't find iexplore.exe
-   7295  wine.inf's timezone data is inconsistent with Windows
-   7368  eISLP -font too small on main list
-   7441  GlobalMemoryStatus 2GB limiting results in failure of virtual > physical memory checks
-   7452  JScript not functioning
-   7488  Screen.ActiveForm  run-time error 91
-   7581  Shell Folder AutoComplete List in browseui.dll not implemented
-   7645  Wine tests fail under FreeBSD and other problems
-   7829  Photoshop CS3 install / Adobe Setup fails at runtime
-   7996  serious sam dedicated servers don't work
-   9298  Empire at war, best of PC install failes
-   9319  Sony Vegas v4.0: Menus dissapear after single view
-   9519  Adobe Reader 8.1 (and Acrobat Pro 8): Unable to accept License (window.external object)
-   9877  AT1 crashes when system.ini or wini.ini have too many lines
-   9929  Internet Explorer 7 installer complains it cannot verify integrity of installation files, quits
-   9963  GPSMapEdit: Unimplemented function gdiplus.dll.GdipGetImageDecodersSize
-  10544  treeview scrolling on collapsing is broken on windows
-  10933  PAF 5 unicode font displays with inconsistent size
-  11294  Adobe Imageready 3 and 6 (part of Photoshop 6 and 7) and InDesign 2 tool option window in wrong place
-  11735  ClocX: UpdateLayeredWindow needs to be implemented
-  11838  Y axis inverted in tablet with OpenCanvas 1.1?
-  11938  Valve Hammer Editor unusable: window mostly black
-  11943  Wacom Tablet Y-axe gets inverted on click in ArtRage 2.5
-  11948  TF2 and Portal do not render correctly with nvidia-drivers-169.x and above
-  12059  Help window cannot be closed
-  12133  Desktop directory is invalid
-  12144  Endnote demo crashes on launch in gdiplus
-  12255  Static sound effects with Syberia 2
-  12309  energyXT gui rendering brings the system down to its knees.
-  12421  Digsby beta crashes during login (needs lots of gdiplus functions)
-  12447  MSN Messenger 7.0 crash while loading the Contact list
-  12861  Gtk+ demo (gtk-demo.exe) doesn't work
-  13214  No icons on control buttons with Audacity 1.2.6
-  13520  Facewound crosshair does not render
-  13634  dogfood: geany not usable at all
-  13728  Crash when running Oblivion installation program
-  13745  Installing DirectX breaks "gold" VB6 heavy application
-  14188  utorrent - it disconnects fast leaching peers with Error 10022
-  14281  Richedit's EM_SETTEXTEX handler doesn't notice \urtf as valid RTF sequence
-  14353  problem with displaying digits in the bookkeeping proram "Mala Ksiegowosc Rzeczpospolitej"
-  14422  AutoCAD 2005, Adobe Photoshop CS3 crash on unimplemented function gdiplus.dll.GdipGetFamily
-  14642  mIRC 6.33 hang up then IRC channel topic has ISO-8859-2 char
-  14674  Wine WordPad fails to correctly open CP1251 RTF documents with russian letter "ya"
-  14732  WINE Wordpad crashes horizontally resizing certain RTF documents
-  14744  Burning Sea: draw regression under alpha UI elements
-  14773  Adobe Photoshop CS3 crashes at startup on unimplemented function gdiplus.dll.GdipGetFontHeight, GdipGetFontStyle
-  14800  directx-dinput problem in PES2008
-  14913  Dawn of war, transperent characters  become invisable
-  14986  Rome Total War v1.5 Gold crashs if buttons that highlight on mouse hover
-  15009  Black & White 2 crash on start up since 0.9.44
-  15066  FedExShipManager installer crashes in msi
-  15077  Myth II 1.6 fails with Wine 1.1.3 (regression from 1.1.2)
-  15096  This user account does not have sufficient rights to install
-  15138  Spore crashes after the first stage of life
-  15210  MIDI-OX installer crashes
-  15215  Microsoft Office 2007: Attempting to update IME dictionary => crash (dogfood)
-  15279  Saxo Trader installer crashes into unimplemented msi functoims
-  15281  PROFILE_Load and friends doesn't handle ini files with CR-only line endings
-  15298  Highway Pursuit crashes with a X Error
-  15313  Leela: graphics do not show (win32/GDI?)
-  15332  Compiling on PC-BSD with -Werror fails in dlls/mscms/handle.c
-  15334  richedit: cursor doesn't change when over a scrollbar
-  15335  Regedit: char format, different type arg errors
-  15344  reaper sequencer crashes
-  15347  Lexware: Installation fails with "Systemprüfung konnte nicht erfolgreich abgeschlossen werden"
-  15366  Starcraft cant find CD
-  15378  mshtml/tests: dom.c fails in gcc 3.3/CFLAGS="-Werror"
-  15387  VB6 Format error in wine 1.1.4
-  15391  "--without-opengl" configure option doesn't compile anymore
-  15413  dualcad crashes into msvcrt
-  15416  Garena : division by zero in comctl32
-  15488  IFC Trade Terminal crash on unimplemented function dwmapi.dll.DwmExtendFrameIntoClientArea
-  15507  winex11.drv regression causes ClocX 1.5 beta 2 installer window to be hidden
+   2327  Graphics not rendered with VB6 application using graph server component
+   2608  Might and Magic VI wont run until "DeShrinker" program is run on mss32.dll
+   2922  Unhandled Exception when starting F18.EXE
+   3555  ToolBook Assistant 2004 doesn't run
+   3972  .NET Framework 2.0 installation fails on installation of assemblies
+   4298  Potential metafile NULL-pointer dereference
+   4381  Cannot change focus with TAB from edit control
+   4386  Font rendering wrong.
+   4783  Network Notepad - .wmf files not rendered
+   5022  Wine does not define CLSID_NULLRenderer
+   5070  Can't install North Carolina RealFast forms
+   5296  Kidspiration 1.0a install fails
+   5351  Windows Installer 3.1 cannot install because of non-standard drive labeling
+   5455  WINSPOOL: Delphi-application crashes on start after working with winspool
+   5542  older D3D games slowed down after upgrading wine from 0.9.15 to 0.9.16
+   5930  Graphic glitches in Alien Shooter
+   6224  Video hardware detection problems in Titan Quest
+   7035  Drive C: shows up twice in the Age of Mythology installer
+   7225  Warhammer Mark of Chaos Will not run
+   7456  Sigma Photo Pro 2.1 installer crashes at very very end
+   7531  GSAK application freezes when Gecko is installed
+   7593  Turnpike email client fails to install
+   7900  ShellExecuteEx can fail for paths with spaces in them
+   8029  Heart of Darkness doesn't run or output any error.
+   8179  graphical glitches in Project Eden
+   8184  Oblivion Some shader effects cause screen to go vomit green
+   8214  Swat 2 blocky screen
+   8642  reflective objects in gtasa look weird
+   8920  Adobe Dreamweaver 8: help doesn't work
+   8921  Adobe Dreamweaver 8: macros don't play back?
+   9188  Silkroad online installer crash
+   9295  IMediaPosition not implemented
+   9478  Adobe Dreamweaver 8 autocompletion
+   9511  Wine uses wrong icon on desktop for installed application
+   9628  msiexec command line parsing incorrect
+  10107  Wine allows you to install Adobe Photoshop CS2 Trial even if you decline the license
+  10486  Rayman 3 Demo doesn't shows 'loading' screens (regression?)
+  10504  Blogjet crashes on startup
+  10630  Madden NFL 08 run crashes with dsound error and page fault
+  10874  Jumpstart  Mystery Club vol.1 fails to start
+  11014  Siemens ProCenter MSI installer fails
+  11122  xkbd: non-US layout results in wrong key mapping
+  11531  Richard Burns Rally - Trees/buildings/fences disappear after a while
+  11590  Graphics regression in Uplink Laughing Man
+  11640  Unable to use multiplayer in Sins of a Solar Empire: unknown address family
+  11671  Corel Painter X
+  11673  WiX cannot validate created .msi, due to lacking MsiDatabaseMerge
+  11695  Truespace demo crashes on launch.
+  11739  Farm frenzy (shell:SHGetValueW)
+  11759  Microsoft Silverlight installer - unimplemented functions
+  11795  Oblivion giant tree sprite(s) follow the player
+  11867  StackOverflowException from mscorwks running .NET 2 application
+  11881  wine iexplore crashes when started
+  11990  Script and Field Lists in FileMaker Pro are blank
+  12058  No car engine sounds in TrackMania United
+  12063  SDL Edit (SDLX) missing icons on toolbar
+  12117  Some Milkdrop visualizations cause Direct3D window to be split oddly
+  12146  Flatout 1 draws shadows incorrectly
+  12188  Complex Shader causes sky in Everquest 2 to turn black
+  12301  Anycount 5.0 fails to install
+  12307  firefox 3 crash on some web pages [dogfood]
+  12404  Lotus Notes doesn't show window contents after minimize then unminimize
+  12485  BitBlt does not ignore source clipping
+  12522  FEAR combat 1.07 won't start.
+  12581  Wine crashes trying to look up word in Gyldendal's røde ordbøger
+  12587  multi line widget broken
+  12655  RealPlayer 11 Starts, but suffers a runtime error when selecting a menu
+  12776  input line truncated in command-line debugging program 'kd'
+  13073  Titan Quest Immortal Throne 1.30 graphic bug
+  13230  msi: msi.ok fails in Opensolaris
+  13232  Warcraft 3 worldedit.exe fails to start.
+  13241  ALSA Midi port names
+  13338  cygwin installer crashes in /etc/postinstall/00bash.sh
+  13413  itunes initial license dialog display richtext in raw form
+  13503  Photoshop CS2 - Dialog windows opens behind active image.
+  13585  Quicken Premier 2008: Crashes when trying to use a data file.
+  13642  dogfood: InterPoker on Linux crashes
+  13753  Glitches on icons in wow
+  13838  AutoCAD 2005 setup : Missing backslash in registry entry and profile path
+  14229  winedbg can't dump stack of functions that take float args?
+  14269  Shareaza does not save preferences
+  14297  winhelp: Links to a different part of the current page don't work
+  14358  fusion: installation .NET assemblies might fail due to incorrect parsing of CLR metadata structures and tables
+  14380  Changing Skins in Shareaza causes crash
+  14516  Full-Screen Glow Effect in World of Warcraft is shifted (in DirectX)
+  14566  comctl32_test header: crash on win9x in test_hdm_filterMessages at DestroyWindow
+  14571  ole32.CoGetCallerTID needed for VS.NET 2005
+  14580  mshtml_test htmldoc: timeout / crash on win9x
+  14707  winedbg crashes while trying to debug an application with a pdb file
+  14753  Keyboard input is ignored in Abe's Exoddus and Oddysee games
+  14829  wininet: http.ok hangs in Solaris, but not Linux
+  14839  kernel32: pipe.ok fails in OpenSolaris but not Linux
+  14840  kernel32: thread.ok fails in OpenSolaris but not Linux
+  15243  Google Chrome URL bar edits and text selections always begin at start of bar
+  15294  Openoffice.org 3.0 RC1 installs but apps can't be started.
+  15318  Google Chrome pasting in the url field pastes it twice
+  15352  TSLPatcher: rtf header should be centered, instead half outside window
+  15374  The Witcher - Game cannot be registered
+  15390  VGA mode 19 color palettes incomplete
+  15405  winresrc.h is incomplete
+  15551  SafeDisc regression
+  15598  Full Screen mode in World of Warcraft (WoW) broken in 1.1.6 with Gnome
+  15608  Wine (or program) can't wait for end of execution, while my program run another .exe or .bat program
+  15643  wingdi.h does not define R2_LAST macro
+  15650  Wine crashes if it is built with -fomit-frame-pointer
+  15694  LEGO Star Wars sounds not playing
+  15696  Dragon NaturallySpeaking 10 will not install -- says needs IE5 or later
 
 ----------------------------------------------------------------
 
-Changes since 1.1.5:
+Changes since 1.1.6:
 
-Alexander Morozov (5):
-      ntoskrnl.exe: Initialize StackSize field of DEVICE_OBJECT structure.
-      include: Add some definitions.
-      include: Add usb.h, usb100.h, usb200.h and usbdlib.h.
-      ntoskrnl.exe: Implement some functions.
-      ntoskrnl.exe: Fix trace typo.
+Alexander Morozov (1):
+      ntoskrnl.exe: Initialize some IRP fields to prevent using bad pointers by IofCompleteRequest.
 
-Alexander Nicolaysen Sørnes (3):
-      regedit: Fix char escaping for registry export.
-      regedit: Fix some fprintf arguments.
-      netapi32: Improve NetUserGetLocalGroups stub.
-
-Alexandre Julliard (22):
-      configure: Always use -fno-builtin if supported, since it's needed for scanf too.
-      ntdll/tests: Fix a few test failures on NT4.
-      user32/tests: Fix some more message test failures.
-      comctl32/tests: Fix a couple of message test failures.
-      winex11: Fix SetLayeredWindowAttributes when called on a thread that doesn't have any window.
-      regedit: Fix file exports in ASCII format.
-      configure: Make sure opengl is not built with --without-opengl is specified.
-      user32/tests: Fix more message test failures on NT4 and XP.
-      user32/tests: Fix the winstation tests on NT4.
-      user32/tests: Fix some input test failures.
-      user32/tests: Fix the listbox tests on Win9x and NT4.
-      gdiplus: Fix a string buffer overflow.
-      advapi32: Always pass a valid argv pointer to a service even if there are no arguments.
-      oleaut32: Fix a couple of interface registrations to match Windows.
-      inetcomm: Add missing license header.
-      ntdll: Preserve the 2K block size returned for CDROMs.
-      msvcrt: Pass the command interpreter as exe name from _wpopen.
-      server: Follow symlink even with OBJ_OPENLINK unless it is the last element of the path.
-      ws2_32: Allow arbitrary-sized iovecs again in WSASendTo and WSARecvFrom.
-      msi/tests: Clean up the binary.dat file.
-      widl: Add support for attributes on enum, struct and union definitions.
-      stdole2: Add some missing attributes and fix some typos.
-
-Alistair Leslie-Hughes (9):
-      mshtml: Implement IDispatch for IHTMLDOMNode2.
-      mshtml: Implement IDispatch for IHTMLDOMNode.
-      mshtml: Implement IDispatch for IHTMLElementCollection.
-      mshtml: Implement IDispatch for IHTMLDOMChildrenCollection.
-      mshtml: Implement IHTMLBodyElement put_background.
-      msxml3: Correct cast.
-      gdiplus: Stub GdipRecordMetafileFileName and GdipRecordMetafileFileNameI.
-      msxml3: Add IXMLHTTPRequest support.
-      mshtml: Implement IHTMLStyle put/get borderWidth.
-
-Andrew Nguyen (1):
-      wine.inf: Add entry for fake wintab32.dll.
+Alexandre Julliard (63):
+      comcat: Get rid of NULL checks on the This pointer.
+      comcat: Moved dll registration to ole32.
+      comcat: Simplify the class factory implementation and make it more similar to the other ones in ole32.
+      comcat: Get rid of the redundant IUnknown vtable for the manager implementation.
+      comcat: Moved all the implementation to ole32 where it belongs.
+      configure: Moved the crosstest checks so that they are done for all platforms.
+      mountmgr: Specify the drive type as a DWORD instead of a string.
+      mountmgr: Return the drive unique id in IOCTL_MOUNTMGR_QUERY_POINTS.
+      make_makefiles: Add support for .rh files.
+      dsound: Avoid use of stdint types.
+      winecfg: Store the drive serial number as a number instead of a string.
+      winecfg: Store the drive label as Unicode.
+      kernel32: Delete the .windows-label file if the label is empty.
+      user32/test: Fix a couple of message test failures on Windows.
+      mountmgr: Enforce a minimal length for the mount point id.
+      mountmgr: Store mount points as a list instead of an array.
+      mountmgr: Store the device name in the mount point structure.
+      winecrt0: Add missing WINAPI on driver entry point.
+      avifil32: Convert source files to utf-8.
+      d3d9: Convert source files to utf-8.
+      ddraw: Convert source files to utf-8.
+      dpnet: Convert source files to utf-8.
+      kernel32: Convert source files to utf-8.
+      msdmo: Convert source files to utf-8.
+      msrle32: Convert source files to utf-8.
+      ole32: Convert source files to utf-8.
+      rpcrt4: Convert source files to utf-8.
+      shell32: Convert source files to utf-8.
+      user32: Convert source files to utf-8.
+      wined3d: Convert source files to utf-8.
+      winedos: Convert source files to utf-8.
+      winex11: Convert source files to utf-8.
+      include: Convert source files to utf-8.
+      programs: Convert source files to utf-8.
+      server: Convert source files to utf-8.
+      tools: Convert source files to utf-8.
+      Convert remaining source files to utf-8.
+      configure: Force -m32 option on x86_64 even if CC is already defined.
+      wldap32/tests: Don't crash if ldap_search_ext_sA fails.
+      wldap32: Map Unix error codes to Windows ones for all functions.
+      server: Added a request to unlink an object from its namespace.
+      ntoskrnl: Implemented IoDeleteSymbolicLink.
+      mountmgr: Include some system headers in mountmgr.h.
+      mountmgr: Moved the harddisk device driver to device.c.
+      mountmgr: Create devices and symlinks for dynamic drives too.
+      mountmgr: Return the drive pointer from get_dosdevices_path().
+      mountmgr: Convert the registry calls to Unicode.
+      mountmgr: Query the drive type from the registry for the initial creation.
+      mountmgr: Create a new harddisk device for dynamic harddisk drives.
+      mountmgr: Create a PhysicalDrive symlink for all harddisk devices.
+      mountmgr: Reuse create_disk_device to create the initial harddisk0 device.
+      configure: Explicitly mention that we need 32-bit libraries to try to avoid some invalid bug reports.
+      winecfg: Update the drives only when they have changed, instead of trying to compare with the current setup.
+      msiexec: Fix initial state of the argument parsing state machine.
+      mountmgr: Store the contents of the device symlink in the drive object.
+      mountmgr: Allow to specify the drive letter explicitly when creating/removing a drive.
+      mountmgr: Add a Wine-specific ioctl to define a drive for a Unix path.
+      mountmgr: Add a Wine-specific ioctl to query the Unix information about a drive.
+      winecfg: Use an ioctl to the mount manager to define drives.
+      winecfg: Store the Unix device if any in the drive configuration.
+      winecfg: Load the existing drive config from mountmgr instead of relying on QueryDosDevice.
+      mpr: Use a mountmgr ioctl to retrieve the UNC name for a drive.
+      kernel32: Return the Windows symlink in QueryDosDevice instead of the Unix one.
 
 Andrew Talbot (12):
-      comdlg32: Sign-compare warnings fix.
-      comctl32: Sign-compare warnings fix.
-      credui: Sign-compare warnings fix.
-      crypt32: Sign-compare warnings fix.
-      crypt32: Sign-compare warnings fix.
-      dbghelp: Sign-compare warnings fix.
-      dbghelp: Sign-compare warnings fix.
-      ddraw: Sign-compare warnings fix.
-      dinput: Sign-compare warnings fix.
-      ddraw: Sign-compare warning fix.
-      dsound: Sign-compare warnings fix.
       gdi32: Sign-compare warnings fix.
+      imm32: Sign-compare warnings fix.
+      itss: Sign-compare warnings fix.
+      kernel32: Sign-compare warnings fix.
+      mcicda: Sign-compare warning fix.
+      mlang: Sign-compare warnings fix.
+      mshtml: Sign-compare warnings fix.
+      msi: Sign-compare warnings fix.
+      msi: Sign-compare warnings fix.
+      msvcrt: Sign-compare warnings fix.
+      msxml3: Sign-compare warning fix.
+      ntdll: Sign-compare warnings fix.
+
+Andrey Esin (1):
+      regedit: Corrections in Russian translation.
 
 Andrey Turkin (7):
-      ntdll: Add stubbed implementations for NtQueryEaFile and NtSetEaFile.
-      regedit: Ignore spaces in regedit files.
-      dwmapi: Add a few stub implementations.
-      kernel32: Add ExitProcess wrapper to please Shrinker.
-      wordpad: Fix some unicode bugs.
-      wordpad: Convert some ANSI calls to Unicode.
-      wordpad: Fix some compile-time warnings.
+      riched20: Add spare area to ITextServicesImpl to work around broken apps.
+      wordpad: Use inches instead of cm in calculations.
+      wordpad: Do not leak a handle on error path.
+      wordpad: Do not try to close uninitialized handles.
+      mpr: Fix NULL pointer dereference in WNetGetResourceInformationW.
+      include: Include winuser.rh from winresrc.h.
+      wordpad: Do not pass resource ids to MessageBox.
 
-Aric Stewart (19):
-      imm32: ImmConfigureIME should return 0 when the type is IME_CONFIG_REGISTERWORD and the data is NULL.
-      mlang/tests: IMultiLanguage2_GetRfc1766FromLcid can return S_FALSE on partial name matching so deal with this properly.
-      mlang/tests: Some versions of native mlang return E_FAIL when source string is NULL and a source length is supplied.
-      mlang/tests: GetLastError may not be set if Japanese conversions fail with S_FAIL so do not require that to skip the Japanese tests.
-      mlang/tests: Skip testing a codepage returning the buggy, legacy unicodeFEFF charset (only appears to exist on windows 2008).
-      mlang/tests: windows 2008's version of mlang E_FAILs when you pass in a rgelt in IEnumCodePage::Next.
-      mlang: Correct use of uninitialized rfcstr value (Coverity 796).
-      user32/tests: GetMenuItemCount returns an INT which can be -1 (Coverity 543).
-      user32/tests: GetMenuItemCount returns INT so check for -1 (Coverity 542).
-      ole32: Handle GetMenuItemCount returning -1 by changing UINT to INT (Coverity 228).
-      version: Check for out of memory in VerInstallFileA/W conversion (Coverity 635).
-      x11drv: ime: In the update functions if we get a null string with a len report this and fix len to be 0 (Coverity 656 and 655).
-      winealsa: Don't dereference a potentially NULL value in the WARN statement (Coverity 93).
-      quartz: Check hr so we are not incrementing a NULL (Coverity 106).
-      wineoss: Don't dereference a potentially NULL value in the WARN statement (Coverity 93).
-      d3d8: Initialize IDirect3DDevice8 *device to NULL in case of immediate cleanup (Coverity 795).
-      oleaut32: In variants check bOverflow to make sure not to accidently overun static buffers in an overflow case (Coverity 313).
-      browseui: Update AutoComplete Multi to have a stub implemntation of CLSID_ACListISF and IID_IACList2.
-      mlang/tests: Make sure a given codepage has 'abc' before depending on that conversion to detect if a codepage is convertable.
+Aric Stewart (14):
+      shell32: Refine UNIXFS_path_to_pidl to return more detailed failures.
+      user32: In DrawTextW/A make sure to properly initialize the cbSize of DRAWTEXTPARAMS.
+      user32: DrawText handling of 0 counts with string, empty strings and -1 counts with empty string and NULL strings.
+      user32: Make sure our vertical line count is at least 1 even if there is an oversized font in the edit control.
+      user32: Update DrawText tests to cover behavior differences on win98.
+      kernel32/tests: Add a test for CreateProcess with an AppName set.
+      kernel32/tests: Add test for GetCommandLineW.
+      gdiplus: Avoid dereferencing a potential NULL (Coverity 589).
+      shell32/tests: Add tests for CommandLineToArgvW.
+      ntdll: Implement SystemProcessorPerformanceInformation for Linux (/proc filesystems) and Mac OS X.
+      comdlg32/tests: Add a test for GetOpenFileName with a dialog template.
+      comdlg32: Some applications expect the filter combo to be filled before the CustomDlg is created.
+      ntdll: Update behavior of ActivationContextBasicInformation.
+      ntdll/tests:  handle info behavior for vista and 2008 properly.
 
-Austin English (3):
-      mscms: Undefine HIWORD to avoid a conflict.
-      mshtml/tests: Fix gcc warnings.
-      ntdll: Quiet a noisy fixme.
+Austin English (5):
+      advapi32: Quiet a noisy fixme.
+      wininet: Quiet a noisy fixme.
+      include/wingdi.h: Define R2_LAST.
+      gdi32: Quiet a noisy fixme.
+      wineinstall: Remove bashisms, make sh compatible.
 
-Christian Costa (8):
-      d3dxof: Rewrite check_TOKEN and parse_TOKEN_* to work properly and be more logical.
-      d3dxof: Implement IDirectXFileDataImpl_GetNextObject.
-      d3dxof: Do not print an error for interfaces that can be queried to retrieve the type of the object.
-      d3dxof: Implement IDirectXFileDataReference.
-      d3dxof: Allow omission of comma which separates array elements.
-      d3dxof: Enumerate only 2 levels of objects obtained from a reference.
-      d3dxof: Store number of subojects for all top level objects.
-      d3dxof: Enable referencing of named subobjects too.
+Chris Wilson (1):
+      winex11: Ignore source clipping in BitBlt.
 
-Damjan Jovanovic (1):
-      oleaut32: Fix double negative sign regression in VarFormat.
+Christian Costa (3):
+      d3dxof: Move template dumping code in a separate function.
+      d3dxof: Reference the right objects.
+      d3dxof: Add support for string parsing.
 
-Detlef Riekenberg (6):
-      jscript/tests: Fix a typo in ok().
-      oleaut32: Remove redundant NULL check before SysFreeString.
-      msxml3: Remove redundant NULL check before SysFreeString.
-      msi: Remove redundant NULL check before SysFreeString.
-      shdocvw: Remove redundant NULL check before SysFreeString.
-      shdocvw: Set the default homepage.
+Detlef Riekenberg (13):
+      crypt32/tests: Fix a test on win9x.
+      crypt32/tests: Fix some tests on win9x.
+      d3d8/tests: Fix test on win9x with broken driver.
+      d3d9/tests: Fix test on win9x.
+      d3d9/tests: Fix test for old gfx-card.
+      gdi32/tests: Fix tests to not depend on 96 dpi.
+      shlwapi: Implement SHSendMessageBroadcastA/W.
+      comctl32/tests: Fix tests to not depend on 96 dpi, make it pass in Wine.
+      shlwapi: Fix pointer and size in AssocQueryStringA.
+      shlwapi/tests: Replace RegDeleteTreeW to run the tests again.
+      mscms: Quiet a noisy fixme.
+      shdocvw: Implement URLSubRegQueryA.
+      shdocvw/tests: Add tests for URLSubRegQueryA.
 
-Dimitrie O. Paun (1):
-      user32: Fix a noisy FIXME.
+Dmitry Timoshkov (6):
+      kernel32: Add support for foreign process handles in GetProcessVersion.
+      user32: Add a test for fullscreen window sizing, make it pass under Wine.
+      user32: Fix a typo.
+      winmm: MMIO_ALLOCBUF is ignored if mmioOpen gets a valid buffer.
+      gdi32: Make EnumEnhMetaFile update the DC state before calling the callback.
+      gdi32: Add EMR_GDICOMMENT to the list of records producing output.
 
-Dmitry Timoshkov (13):
-      gdi32: Add a test for PS_NULL pen being equal to NULL_PEN stock object.
-      gdi32: Make the PS_NULL test pass under Wine.
-      wine.inf: Correct the Pacific SA Standard Time entry.
-      gdi32: Do not skip the font metrics update after the DC transform change.
-      winex11.drv: Add support for _NET_WORKAREA.
-      user32: Print the expected and received rectangles.
-      gdi32: Make test_font_metrics require the font being selected into the DC.
-      gdi32: Add a test for a font being selected into 2 DCs with different transformations.
-      gdi32: Allow a rounding error in the text justification test.
-      winex11.drv: Use the monitor work area to decide whether a window should be made managed.
-      gdi32: Remove the code which bypasses the DC transformation checks.
-      gdi32: Revert incorrect fix introduced in a5d288f08c08dc19d217093fdf8622605c92a4e0.
-      winmm: The buffer provided by an application is valid only in the mmioOpen(FOURCC_MEM) case.
+Dylan Smith (24):
+      richedit: Added EM_SETMARGINS to the list of unsupported messages.
+      richedit: Added DestroyWindow call to clean up the end of a test.
+      richedit: Moved optional message loop in tests to its own function.
+      richedit: Added test for word wrapping behaviour.
+      richedit: Account for selection bar in calculating available width.
+      richedit: Fixed centering and right align with word wrap disabled.
+      wordpad: Added option to disable word wrap.
+      runtest: Fixed regression that prevented using just the -h option.
+      richedit: Added test for auto scroll behaviour with redraw disabled.
+      richedit: Tests for notifications while redraw is disabled.
+      richedit: Test to see if wrapping happens with redraw disabled.
+      richedit: Test changes in scrollbar's visibility with redraw disabled.
+      richedit: Scroll cursor into view even with redraw turned off.
+      richedit: Test for EN_UPDATE notification when window isn't visible.
+      richedit: Test to see if WM_SETREDRAW removes the windows visibility.
+      richedit: Prevent EN_UPDATE notifications when window isn't visible.
+      richedit: Use the DefWindowProc to implement WM_SETREDRAW.
+      richedit: Added tests for ctrl-key shortcut handling in WM_KEYDOWN.
+      richedit: Handle ctrl-key shortcuts on WM_KEYDOWN.
+      richedit: Added tests for EM_POSFROMCHAR for pos around end of text.
+      richedit: Fixed EM_POSFROMCHAR for pos of text length.
+      richedit: Fixed pointer syntax in helper functions for tests.
+      richedit: Added test for correct behaviour for calling EditWordBreakProc.
+      richedit: Fixed the call to the EditWordBreakProc.
 
-Dylan Smith (21):
-      richedit: Removed space in front of function signature.
-      richedit: Fixed test failure that happend on older builds of riched20.dll.
-      richedit: Fixed test failing on windows version with larger font sizes.
-      richedit: Make sure border properties are saved for undo/redo.
-      richedit: Prevent font or colour buffer overflow on stream out.
-      richedit: Prevent assertion failure when streaming out nested tables.
-      richedit: Added code to stream out table border properties.
-      richedit: Fixed a bug preventing streaming out nested table properties.
-      richedit: Made sure table row gap/offset is copied on append row.
-      richedit: Print hex string for strcmp test failing on Windows 95, 98 & NT4.
-      richedit: Swapped the expected and destination buffers in a test.
-      richedit: Avoided testing for undocumented behaviour causing test to fail.
-      richedit: Removed invalid assertion.
-      richedit: Unsigned cast char to avoid EOF equality.
-      richedit: Use RTF reader for text starting with {\urtf.
-      richedit: ES_AUTOHSCROLL window style disables word wrapping.
-      user32: Converted rcScrollBar to screen coordinates.
-      richedit: Show arrow cursor over scrollbar.
-      runtest: More helpful error when top of wine directory isn't found.
-      runtest: Modified the default program so that it might find the test program.
-      runtest: Let the test program handle the lack of a test name.
+Eric Pouech (5):
+      msvcrt: Implemented wcscat_s.
+      dbghelp: Report in module's info when a module's debug information has been mismatched (dbg and pdb only).
+      winedbg: Use Unicode strings for all module references.
+      winedbg: Added a command to allow loading mismatched modules.
+      msvcrt: Implemented vswprintf_s.
 
-Eric Pouech (21):
-      dbghelp: Added stubs for add symbol functions.
-      dbghelp: Added the latest stubs.
-      dbghelp: Added stub for SymSetScopeFromAddr.
-      dbghelp,winedump: Added support for symbol 0x113a.
-      dbghelp,winedump: Added support for symbol 0x1012.
-      winedump: Added support for dumping long long constants.
-      winedump: Dump a bit more of information from procedures.
-      winedump: Add preliminary dumping of 0x1136 and 0x1137 symbols.
-      dbghelp: Silence symbol 0x1139.
-      dbghelp,winedump: Added support for 0x113d symbol.
-      dbghelp,winedump: Added support for symbol 0x113c.
-      dbghelp,winedump: Added support for symbol symbol.
-      winedump: Improved a bit the MS Tool V3 description.
-      dbghelp: Now fully reading the leafs as variant for constants.
-      dbghelp: Added support for real80 (aka long double) in inner codeview types.
-      winedump: Now dumping codeview source line information.
-      winedump: First stab at dumping the "new" line information out of pdb files.
-      dbghelp: Rewrote the linetab access so that we don't need to allocate intermediate information.
-      dbghelp: Add support for the newest line number information in pdb files.
-      msvcrt: Implemented wcsncpy_s.
-      msvcrt: Implemented splitpath_s.
-
-Erik Inge Bolsø (1):
-      kernel32: Fix PROFILE_Load to handle mac line endings.
-
-Francois Gouget (10):
-      kernel32/tests: Fix compilation on systems that don't support nameless unions.
-      jscript: Remove spaces before '\n' in Wine traces.
-      jscript: Add a trailing '\n' to a Wine trace.
-      secur32: Fix compilation with GNU TLS 1.0.16.
-      make_opengl: Avoid the deprecated '$#' construct.
-      comctl32/tests: FreeMRUList(NULL) crashes on Win98 OSR0.
-      comctl32/tests: Don't crash if adding the tooltip failed.
-      mshtml/tests: Add a trailing '\n' to an ok() call.
-      cryptdlg: Fix compilation on systems that don't support nameless unions.
+Francois Gouget (5):
+      dirent.h is a conditional include now.
+      riched20/tests: Add a trailing '\n' to an ok() call.
       Assorted spelling fixes.
+      comdlg32/tests: Remove unneeded casts.
+      secur32: Check that the GnuTLS header is recent enough for schannel.
 
-Gerald Pfeifer (1):
-      cryptnet: Include stdarg.h.
+Frans Kool (1):
+      wordpad: Corrected Dutch translations.
 
-Hans Leidekker (13):
-      rpcrt4: Add stub implementations for RpcMgmtInqStats and RpcMgmtStatsVectorFree.
-      winhttp: Implement WinHttpCreateUrl.
-      winhttp: Add tests for WinHttpCreateUrl.
-      wininet: Support setting username and password through options.
-      shlwapi: Fix PathIsValidChar tests that fail on some versions of Windows.
-      winhttp: Skip notifications that may arrive out of order.
-      include: Define IRangeList, IIMAPCallback and IIMAPTransport.
-      inetcomm: Add a stub implementation of IIMAPTransport.
-      wldap32: Return an error when ldap_parse_sort_control or ldap_parse_vlv_control is called with NULL control array.
-      wldap32: Add tests for ldap_parse_sort_control and make them pass.
-      wininet: Option INTERNET_OPTION_CALLBACK is not settable.
-      wininet: Avoid a crash on certain buffer size queries in HTTP_HttpQueryInfoW.
-      usp10: Store glyph mappings and widths in the script cache.
+Hans Leidekker (8):
+      wininet: Don't destroy authentication data when closing the connection.
+      wininet: Add a test for basic authentication.
+      wininet: Fix buffer size query for InternetQueryOption(INTERNET_OPTION_PROXY).
+      cryptui: Add a partial implementation of CryptUIWizImport.
+      wldap32: Use a test query that is more likely to succeed within 20 seconds.
+      cryptui: Honour hDestCertStore in CryptUIWizImport, be more verbose about its shortcomings.
+      wldap32: Skip tests when the server can't be reached.
+      wininet: Add an exception handler in HttpOpenRequestA to protect against invalid accept type pointers.
 
-Henri Verbeet (44):
-      wined3d: Make sure update_minfilter and update_magfilter are initialized.
-      wined3d: Destroy FBO entries in the context.
-      wined3d: Fix a memory leak.
-      wined3d: Don't try to draw with unsupported attribute data types.
-      wined3d: Get rid of the wantsDepthStencilBuffer in IWineD3DSwapChainImpl.
-      wined3d: Add/update the D3DPRESENTFLAG constants.
-      wined3d: Skip copying the depth stencil if it's discarded.
-      wined3d: Merge pshader_hw_map2gl() and vshader_hw_map2gl().
-      wined3d: Use shader_glsl_log() in some more places.
-      secur32: Skip schannel tests if schannel is unavailable.
-      secur32: Require gnutls for schannel.
-      secur32: Basic implementation of schannel AcquireCredentialsHandle/FreeCredentialsHandle.
-      secur32: Allocate schannel client credentials.
-      secur32: Allow gnutls debug output to be shown.
-      wined3d: Move part of the shader instruction table to the backend.
-      wined3d: atifs_shader_backend doesn't exist anymore.
-      wined3d: Make some more ARB program functions private to the backend.
-      wined3d: Make some more GLSL functions private to the backend.
-      wined3d: Remove the "Wine 1.0 safety path".
-      wined3d: Split SetGlTextureDesc() up.
-      wined3d: Set the texture name at surface creation.
-      wined3d: Properly handle the offset for compressed surfaces in IWineD3DDeviceImpl_UpdateSurface().
-      wined3d: If a stage isn't mapped to a texture unit, we can't set default coordinates either.
-      wined3d: Handle texture coordinates the same way we handle other vertex attributes.
-      wined3d: Enable lights on the correct swapchain.
-      secur32: Use ~0UL instead of -1 for invalid schannel handles.
-      secur32: Improve error handling for gnutls_certificate_allocate_credentials().
-      secur32: Forward schannel InitializeSecurityContextA to InitializeSecurityContextW.
-      d3d9: Use more reasonable texture dimensions.
-      gdi32: Call AbortProc from StartDoc instead of EndPage.
-      comdlg32: Add a test for AbortProc handling.
-      wined3d: Print an error when drawStridedSlow() is called with 0 idxSize and non-NULL idxData (CID 509).
-      wined3d: Remove a redundant initialization of cfgs in WineD3D_ChoosePixelFormat.
-      wined3d: Cleanup CreateAdditionalSwapChain error handling a bit (LLVM/Clang).
-      wined3d: Assign the correct "levels" variable (LLVM/Clang).
-      wined3d: Remove a redundant initialization of cfgs in CheckDepthStencilCapability (LLVM/Clang).
-      wined3d: Get rid of some redundant assignments (LLVM/Clang).
-      wined3d: Set the correct pow2Matrix for cube textures when NPOT textures are supported.
-      wined3d: Don't do GL calls without a context.
-      wined3d: Correct some swizzles and write masks in arb_program_shader.
-      wined3d: Make sure some variables are always initialized.
-      wined3d: Declare diffuseColor and specularColor inside their respective blocks (LLVM/Clang).
-      wined3d: Pass the correct RECT to LoadLocation() in LockRect().
-      ddraw: Remove a few more redundant inits (LLVM/Clang).
+Henri Verbeet (45):
+      shell32: Add the IShellView2 interface.
+      shell32: Add IShellView32 stubs.
+      shell32: Add VIDs.
+      shell32: Implement IShellView2_CreateViewWindow2.
+      shell32: Add a FIXME for unimplemented view modes.
+      comdlg32: Add a basic test for IShellView2_CreateViewWindow2.
+      wined3d: Don't crash in CreateAdditionalSwapChain() if the context array wasn't allocated yet.
+      wined3d: Cleanup properly if creating the context array fails in CreateAdditionalSwapChain().
+      wined3d: We only need to enable texturing for a target if we're going to draw with it (without a shader).
+      wined3d: Simplify texture target handling in surface_blt_to_drawable().
+      wined3d: Handle offscreen rendering a bit nicer in surface_blt_to_drawable().
+      wined3d: The container is always non-NULL if GetContainer() succeeds.
+      wined3d: Remove a redundant local variable in apply_draw_buffer().
+      wined3d: Modifying GL_TEXTURE_MIN_FILTER modifies both the MINFILTER and MIPFILTER sampler states.
+      d3d10: Create an importlib.
+      dxguid: Add d3d10 GUIDs.
+      dxgi: Add the IDXGIObject interface.
+      dxgi: Add the IDXGIDeviceSubObject interface.
+      dxgi: Add the IDXGISurface interface.
+      dxgi: Add the IDXGIOutput interface.
+      dxgi: Add the IDXGISwapChain interface.
+      dxgi: Add the IDXGIAdapter interface.
+      secur32: Don't make the pBuffer parameter to schan_QueryCredentialsAttributes() const.
+      secur32: Don't leak the credentials handle when pgnutls_certificate_allocate_credentials() fails.
+      secur32: Improve error handling for gnutls_global_init().
+      secur32: Implement schannel InitializeSecurityContextW.
+      wined3d: Add support for EXT_framebuffer_multisample.
+      wined3d: Set the sampler only once in shader_glsl_select_depth_blt().
+      d3d10: Add a debug function for D3D10_DRIVER_TYPE.
+      d3d10: Add a debug function for DXGI_FORMAT.
+      d3d10: Add a debug function for D3D10_PRIMITIVE_TOPOLOGY.
+      d3d10: Add a stub implementation of ID3D10Device.
+      d3d10: Add an initial implementation of D3D10CreateDevice().
+      dxgi: Add a dxgi dll.
+      dxgi: Add the IDXGIFactory interface.
+      dxgi: Implement CreateDXGIFactory().
+      dxgi: Fix a typo.
+      dxgi: Add the IDXGIDevice interface.
+      dxgi: Add a stub IDXGIDevice implementation.
+      d3d10: d3d10 doesn't need wined3d.
+      d3d10: Implement D3D10CreateDeviceAndSwapChain().
+      d3d10: It doesn't make sense to prefer native d3d10.
+      dxgi: Add a debug function for DXGI_FORMAT.
+      ddraw: Make sure pWineDirect3DCreate and pWineDirect3DCreateClipper match the header.
+      wined3d: Remove the SDKVersion parameter to WineDirect3DCreate().
 
-Huw Davies (9):
-      inetcomm: Start of IMimeMessage_SetOption.
-      inetcomm: Start of IMimeBody_SetOption.
-      inetcomm: Charset name comparison should be case insensitive.
-      inetcomm: Content-Disposition can have parameters.
-      inetcomm: Implement IMimeBody_IsType(IBT_EMPTY).
-      inetcomm: Add wrapper functions MimeOleFindCharset and MimeOleGetDefaultCharset.
-      include: Add a missing WINAPI.
-      rpcrt4: Actually set an unmarshalled object ptr to NULL when a NULL pointer id is received.
-      ole32: Remove an unneeded WINAPI and remove some useless comments.
+Huw Davies (13):
+      widl: Include errno.h.
+      wrc: Include errno.h.
+      ole32: Partial implementation of IOleObject_Update().
+      ole32: Call the object's own IOleObject_GetUserType() if the object is running.
+      ole32: Call the object's IOleObject_IsUpToData() if the object is running.
+      ole32: Call the object's IPersistStorage_Load() if the object is running.
+      ole32: Call the object's IPersistStorage_InitNew() if the object is running.
+      ole32: Call the object's IPersistStorage_Save() if the object is running.
+      ole32: Call the object's IPersistStorage_SaveCompleted() if the object is running.
+      ole32: Call the object's IPersistStorage_HandsOffStorage() if the object is running.
+      ole32: Query the object's dirty state if it's running.
+      winspool.drv: The fourth parameter of DeviceCapabilitiesW should be an output ptr.
+      ole32: Call the appropriate storage function when we run the object.
 
-Jacek Caban (151):
-      mshtml: Fixed dynamic properties allocation.
-      jscript: Added string to number conversion implementation.
-      jscript: Added Array.push implementation.
-      jscript: Added Array.join implementation.
-      jscript: Added Array.toString implementation.
-      jscript: Added Number constructor implementation.
-      jscript: Added Number.toString implementation.
-      jscript: Added Number function implementation.
-      jscript: Added Array.sort implementation.
-      jscript: Fixed array literal length calculation.
-      jscript: Added Array.concat implementation.
-      jscript: Added Object default value implementation.
-      jscript: for..in is not error if in expression is not an object.
-      jscript: Added Array default value implementation.
-      jscript: Fixed typo in to_integer.
-      jscript: Added String.substring implementation.
-      jscript: Added String.toString implementation.
-      jscript: Added String.valueOf implementation.
-      jscript: Added String.slice implementation.
-      jscript: Added String.charCodeAt implementation.
-      jscript: Added parseInt implementation.
-      jscript: Remove no longer used jsdisp_set_prototype.
-      jscript: Added String constructor implementation.
-      jscript: Added String default value implementation.
-      jscript: Added String.concat implementation.
-      jscript: Added String function implementation.
-      jscript: Added Math.min implementation.
-      jscript: Added Math.round implementation.
-      jscript: Added Math.abs implementation.
-      jscript: Added Math.max implementation.
-      jscript: Added Math.pow implementation.
-      jscript: Added Math.ceil implementation.
-      jscript: Don't call IDispatch as constructor.
-      jscript: Added Function.toString implementation.
-      jscript: Added Function default value implementation.
-      jscript: Added RegExp contruction implementation.
-      jscript: Fixed a typo.
-      jscript: Added VT_R8 to string conversion implementation.
-      jscript: Added Number default value implementation.
-      jscript: Added object to number conversion implementation.
-      jscript: Split regexp_match function.
-      jscript: Added String.replace implementation.
-      jscript: Added String.match implementation for non-regexp arguments.
-      jscript: Added String.split implementation.
-      mshtml: Use ActiveScript for JavaScript in file protocol documents.
-      mshtml: Fixed tests timeout.
-      shdocvw: Fixed tests on IE5.
-      urlmon: Fixed file protocol tests on win9x.
-      mshtml: Fixed tests on IE7.
-      urlmon: Fixed potential null dereference.
-      mshtml.idl: Added IHTMLTableRow declaration.
-      mshtml.idl: Added DispHTMLTable declaration.
-      mshtml.idl: Added DispHTMLTableRow declaration.
-      mshtml: Added IHTMLTableRow stub implementation.
-      mshtml: Added IDispatchEx support to HTMLTableRow.
-      mshtml: Added IDispatchEx support to IHTMLTable.
-      mshtml: Don't use IHTMLControlElement in IDispatchEx implementations.
-      mshtml: Move IHTMLElementCollection to separated file.
-      mshtml: Use create_collection_from_nodelist in IHTMLElement::get_children implementation.
-      mshtml: Use create_all_collection in IHTMLElement::get_all implementation.
-      mshtml: Store nsIDOMHTMLTableElement in HTMLTable.
-      mshtml: Added IHTMLTable::get_rows implementation.
-      mshtml: Added IHTMLTableRow::get_cells implementation.
-      mshtml: Ignore IDispatchJS in QueryInterface.
-      jscript: Optimize GetDispID usage.
-      jscript: Allocate variables when entering execution context.
-      jscript: Don't clear uninitialized variable.
-      jscript: Added Date constructor object implementation.
-      jscript: Added IDispatchEx::GeleteMemberByDispID implementation.
-      jscript: Added delete expression for EXPRVAL_IDREF implementation.
-      mshtml.idl: Added IHTMLStyle2 interface declaration.
-      mshtml: Added IHTMStyle2 stub implementation.
-      mshtml: Added IHTMLStyle2 to IDispatchEx support.
-      mshtml: Added IHTMLElement2::get_currentStyle implementation.
-      jscript: Don't initialize variables without initialiser to undefined in variable_list_eval.
-      jscript: Fixed conflict in Block statement that caused problems with empty blocks.
-      jscript: Fixed backslash handling in regular expressions.
-      jscript: Added possibility to run test scripts from file.
-      mshtml.idl: Added DispHTMLCurrentStyle dispinterface declaration.
-      mshtml: Added IDispatchEx support to HTMLCurrentStyle.
-      mshtml: Moved HTMLStyle to separated header file.
-      mshtml: Use IDs instead of strings in HTMLStyle implementation.
-      mshtml: Store nsIDOMCSSStyleDeclaration in HTMLCurrentStyle.
-      mshtml: Added IHTMLCurrentStyle::get_display implementation.
-      mshtml: Release nsstyle when destroying HTMLStyle.
-      mshtml: Added IHTMLStyle::[get|put]_border implementation.
-      mshtml: Added IHTMLStyle::[get|put]_left implementation.
-      mshtml: Added IHTMLStyle::[get|put]_cursor implementation.
-      mshtml: Added IHTMLStyle::[put|get]_top implementation.
-      mshtml: Added IHTMLStyle::[get|put]_verticalAlign implementation.
-      mshtml: Added IHTMLStyle::[get|put]_height implementation.
-      mshtml: Added IHTMLStyle2::[get|put]_position.
-      mshtml: Added INVOKE_FUNC support to InvokeEx.
-      mshtml: Fixed handing non-element nodes in IHTMLElementCollection.
-      mshtml: Added DispHTMLIFrame dispinterface declaration.
-      msi: Added MsiInstallMissingComponentW stub implementation.
-      jscript: Added String.indexOf implementation.
-      jscript: Added a few missing allocation checks (Coverity).
-      jscript: Fixed compare function check in Array.sort (Coverity).
-      jscript: Fixed copy&paste bug in disp_propget.
-      jscript: Fixed list literal length calculation.
-      jscript: Added Array.pop implementation.
-      jscript: Fixed numeric escapes unescaping.
-      jscript: Added encodeURI implementation.
-      jscript: Added String.split implementation for non-regexp arguments.
-      mshtml: Added IHTMLElement::get_offsetWidth implementation.
-      mshtml: Added IHTMLElement3 stub implementation.
-      mshtml: Added HTMLIFrame stub implementation.
-      mshtml: Added IDispatchEx support for HTMLIFrame.
-      mshtml: Added IHTMLStyle::[get|put]_zIndex implementation.
-      mshtml: Added support for accessing style attributes by CSS syntax.
-      mshtml: Added IHTMLStyle::[get|put]_textAlign implementation.
-      mshtml: Added IHTMLStyle::[get|put]_filter implementation.
-      mshtml: Store nsIDOMHTMLDocument in HTMLDocument.
-      mshtml: Use stored nsdoc in handle_load.
-      mshtml: Use stored nsdoc in get_compatMode.
-      mshtml: Use stored nsdoc in createRange.
-      mshtml: Use stored nsdoc in get_doc_string.
-      mshtml: Use stored nsdoc in set_font_size.
-      mshtml: Use stored nsdoc in exec_hyperlink.
-      mshtml: Use stored nsdoc in createTextRange.
-      mshtml: Use stored nsdoc in HTMLCurrentStyle_Create.
-      mshtml: Use stored nsdoc in IHTMDocument2::get_all.
-      mshtml: Use stored nsdoc in IHTMLDocument2::get_body.
-      mshtml: Use stored nsdoc in IHTMLDocument2::put_title.
-      mshtml: Use stored nsdoc in IHTMLDocument2::get_title.
-      mshtml: Use stored nsdoc in IHTMLDocument2::write.
-      mshtml: Use stored nsdoc in IHTMLDocument2::createElement.
-      mshtml: Use stored nsdoc in IHTMLDocument2::get_styleSheets.
-      mshtml: Use stored nsdoc in createTextNode.
-      mshtml: Use stored nselem in get_documentElement.
-      mshtml: Use stored nsdoc in IHTMLDocument3::getElementById.
-      mshtml: Use stored nsdoc in prev_node.
-      mshtml: Use stored nsdoc in IHTMLTxtRange::put_text.
-      jscript: Added '%' expression implementation.
-      jscript: Added '%=' expression implementation.
-      mshtml: Use stored nsdoc in IHTMLTxtRange::expand.
-      mshtml: Use stored nsdoc in exec_indent.
-      mshtml: Use stored nsdoc in IHTMLElement::insertAdjacentHTML.
-      mshtml: Use stored nsdoc in IHTMLElement::insertAdjacentText.
-      mshtml: Use stored nsdoc in IHTMOptionElement::put_text.
-      mshtml: Use stored nsdoc in IHTMLOptionElementFactory::create.
-      mshtml: Get rid of setup_nswindow.
-      mshtml: Forward IHTMLelement3::[get|put]_disabled to child object if possible.
-      mshtml: Added IHTMLElement3::[get|put]_implementation.
-      mshtml: Use IHTMLElement3 in IDispatchEx.
-      mshtml: Added IHTMLSelectElement::[get|put]_disabled implementation.
-      mshtml: Don't use IDispatchEx for timer callbacks.
-      mshtml.idl: Added DispCEventObj declaration.
-      mshtml: Added IDispatchEx support to HTMLEventObj.
-      mshtml: Moved events declaration to separated file.
+Hwang YunSong(황윤성) (2):
+      appwiz.cpl: New Korean resource.
+      wordpad: Updated Korean resource.
 
-James Hawkins (31):
-      comctl32: Fix several failing tests in win95.
-      comctl32: Fix a failing test in win95.
-      comctl32: Add a missing newline.
-      crypt32: Fix several test failures in win98.
-      ntdll: Fix a couple failing tests in NT4.
-      oleaut32: Fix a failing test in win95.
-      secur32: Fix a failing test in win95.
-      comctl32: Fix a failing test in win9x.
-      msi: Fix several test failures in win9x.
-      crypt32: Fix several failing tests in win9x.
-      comctl32: Fix a test on locales where default first day of week is not the max value.
-      msi: Add a stub implementation of MsiDatabaseMerge.
-      msi: Forward MsiDatabaseMergeA to MsiDatabaseMergeW.
-      msi: Fix a test that fails in win95.
-      comctl32: Only log system messages.
-      comctl32: Fix several test failures in win2k.
-      comctl32: Only log system messages.
-      msi: Implement the DROP TABLE sql command.
-      msi: Resolve file source paths dynamically, as the source directory can be changed.
-      msi: Remove a break that kept other columns from getting the table name.
-      msi: Remove the columns in reverse order.
-      msi: Add tests for dropping tables with multiple columns.
-      msi: Don't update the table columns if there are no more columns.
-      msi: Remove a part of a debugging statement that was accidentally left in.
-      msi: Add tests for converting record fields between strings and ints.
-      msi: Add initial implementation of MsiDatabaseMerge, with tests.
-      msi: Replace lengthy calls to MSI_DatabaseOpenView with MSI_OpenQuery.
-      msi: Add a stub implementation of MsiDetermineApplicablePatches.
-      msi: Add extra constraints on the formatting string of edit path text.
-      msi: Initialize the count variable to zero.
-      comctl32: Fix MCM_SETFIRSTDAYOFWEEK when the first day set is greater than max allowed.
+Ivan Sinitsin (1):
+      winex11: Set copy mode when rendering OpenGL picture.
 
-Jan-Peter Nilsson (1):
-      wininet: Fix HTTP_ProcessCookies only processing one cookie.
+Jacek Caban (55):
+      mshtml: Added IHTMLElement::put_onmouseover implementation.
+      mshtml: Added IHTMLDocument2::put_onmouseover implementation.
+      mshtml: Added get_onmouseover implementations.
+      mshtml: Added event bubbling implementation.
+      mshtml: Added IHTMLWindow2::get_event implementation.
+      mshtml: Pass the right 'this' argument to event handlers.
+      mshtml: Added set_event_handler(VT_NULL) implementation.
+      mshtml: Added IHTMLEventObj::get_srcElement implementation.
+      mshtml: Don't crash in UIActivate if hostui is NULL.
+      mshtml: Don't crash in notif_focus if client is NULL.
+      mshtml: Move GetContentDOMWindow call from HTMLWindow_Create.
+      mshtml: Added IHTMLFrameBase2::get_contentWidnow implementation.
+      mshtml: Added open and close implementation.
+      mshtml: Added IHTMLInputElement::select implementation.
+      mshtml: Added element blur, focus, paste and drag event implementation.
+      mshtml: Added element keydown, mouseup and mousedown event implementation.
+      mshtml: Added document keydown, keyup, dragstart and selectstart event implementation.
+      mshtml: Added element mouseout and selectstart event implementation.
+      mshtml: Test for NULL nscontainer in set_event_handler_disp.
+      mshtml: Added IHTMLDocument4::focus implementation.
+      mshtml: Added IHTMLElement::get_innerText implementation.
+      mshtml: Fixed increasing buffer size logic in text range implementation.
+      mshtml: Added IHTMLElement::put_innerText implementation.
+      mshtml: Added IHTMImgElement::get_src implementation.
+      mshtml: Added IHTMLDOMNode::insertBefore implementation.
+      mshtml: Don't fail in IHTMLDOMNode::appendChild if AppendChild failed.
+      mshtml: Added IHTMLStyle::put_top(VT_NULL) implementation.
+      mshtml: Use set_nsstyle_attr_var in IHTMLStyle::put_left implementation.
+      mshtml: Added IOmNavigator::get_appVersion implementation.
+      jscript: Added Date constructor implementation.
+      jscript: Added Date.getTime() implementation.
+      libport: Added isnan.
+      jscript: Added isNaN implementation.
+      kernel32: Return uppercase drive letter in GetLogicalDriveStrings.
+      kernel32: Added GetLogicalDriveStrings tests.
+      mshtml: Added support for conditional comments.
+      jscript: Added NaN value implementation.
+      jscript: Added undefined to number conversion implementation.
+      jscript: Added isFinite implementation.
+      msxml3: Update orphaned list in put_documentElement.
+      msxml3: Fixed dynamic properties allocation.
+      msxml3: Silence invalid FIXME.
+      jscript: Added Infinity value implementation.
+      jscript: Added NaN handling to relational operators.
+      jscript: Added infinity and nan handling to str_to_number.
+      jscript: Added NaN handling to Math.min and Math.max.
+      jscript: Added Math.abs with no arg implementation.
+      jscript: Added NaN comparation tests.
+      mshtml: Added IHTMLInputElement::[get|put]_defaultChecked implementation.
+      mshtml: Added IHTMLInputElement::put_checked implementation.
+      jscript: Added Number.valueOf implementation.
+      jscript: Treat function expressions with identifier as function declarations.
+      jscript: Added Math.floor implementation.
+      jscript: Return NaN in Math.ceil if called without any argument.
+      urlmon: Added IsLoggingEnabled[AW] stub implementation.
 
-Jeff Zaroyko (2):
-      hhctrl.ocx: Always set WS_OVERLAPPEDWINDOW.
-      msvcrt: Avoid a NULL pointer deref in ctime.
+James Hawkins (28):
+      msi: Add more tests for the CompLocator part of the AppSearch action.
+      msi: Add tests for the IniLocator part of the AppSearch action.
+      msi: Add tests for the RegLocator part of the AppSearch action.
+      msi: Add tests for the DrLocator part of the AppSearch action.
+      msi: Append the file signature to the component's directory when searching for the component's key path.
+      msi: Expand REG_EXPAND_SZ registry values in the RegLocator table.
+      msi: Fix the returned format of REG_BINARY data.
+      msi: Append a backslash to the AppSearch directory path.
+      msi: Append a backslash to the AppSearch registry path.
+      msi: All files are uncompressed in an administrative image.
+      msi: Pass the correct view to get_row.
+      msi: Return the requested ini field.
+      msi: Add more tests for the AppSearch action.
+      msi: Check the file version when a version is provided in the signature.
+      msi: Add more tests for the RegLocator part of the AppSearch action.
+      msi: Handle searching for a file with no signature.
+      msi: Handle searching for directories in the IniLocator part of the AppSearch action.
+      msi: Simplify and clean up ACTION_RecurseSearchDirectory.
+      msi: Don't get rid of the file signature when searching the DrLocator table.
+      msi: Only append a backslash to directories.
+      msi: Append the next directory to search to the current directory when recursing.
+      msi: Only check the file signature if the candidate file is not a directory.
+      msi: Strip the file off the parent path if it's not a directory.
+      msi: Fix a copy and paste error.
+      msi: Use the quoted part of the registry value when searching for a file or directory.
+      msi: Only compare the file version if a version was specified.
+      msi: Fix a failing test in win9x.
+      msi: Fix several test failures.
 
-John Klehm (3):
-      wintab32: Improve tracing of LOGCONTEXT struct.
-      wintab32: Handle negative output context range for y-axe.
-      wintab32: Send notification when z-order changes.
+Jeff Zaroyko (3):
+      winmm: Fix a failing mixer test on 98 and ME.
+      dsound/tests: Fix failing propset and capture tests on win98.
+      dsound/tests: Fix a failing capture test on win2k.
+
+Jeremiah Flerchinger (3):
+      winedos: Added missing values to VGA Mode 19 (256 color) palette registers.
+      winedos: Added additional VGA/VESA modes & information missing in mode descriptions.
+      winedos: Added/stubbed/documented missing VGA registers.
+
+Jeremy White (2):
+      gdi32: Expand maximum font count to 4096, warn when we go over that limit.
+      gdi32/tests: Make the comparison of the enumerated and returned logfont structures actually work.
 
 Joris Huizer (1):
-      version/tests: Corrected memset placement.
+      shlwapi: Fix ASSOC_GetExecutable not to use uninitialised variable.
 
-Juan Lang (40):
-      cryptui: Implement CryptUIDlgViewCertificateA on top of CryptUIDlgViewCertificateW.
-      cryptui: Build import lib.
-      wintrust: Search all additional stores when building a chain, not just the first one.
-      wintrust: Store the error status and confidence for each element in the chain.
-      wintrust: Always initialize CERT_CHAIN_PARA's RequestedUsage.
-      wintrust: Use helper function to allocate CRYPT_PROVIDER_DATA.
-      wintrust: Use helper function to add the trust steps to execute.
-      wintrust: Only do policy check if pointer is set.
-      wintrust: Check that the end certificate in the chain isn't disallowed to match native behavior.
-      wintrust: Support the CERT_CERTIFICATE_ACTION_VERIFY action.
-      cryptdlg: Implement CertViewPropertiesA on top of CertViewPropertiesW.
-      cryptdlg: Implement CertViewPropertiesW on top of CryptUIDlgViewCertificateW.
-      cryptdlg: Implement CertTrustInit.
-      cryptdlg: Implement CertTrustFinalPolicy.
-      include: Add definition of CRYPTUI_DISABLE_ISSUERSTATEMENT.
-      wintrust: Map cert trust error status to a windows error.
-      wintrust: Use helper function for setting confidence in SoftpubCheckCert.
-      wintrust: Only set the error on the root element of the chain.
-      secur32: Fix test failure with neither gnutls nor ntlm_auth available.
-      inetmib1: Skip tests if a portion of inetmib1 isn't implemented.
-      wintrust: Add stub for WTHelperGetKnownUsages.
-      wintrust: Add tests for WTHelperGetKnownUsages.
-      wintrust: Implement WTHelperGetKnownUsages.
-      wintrust: Implement OpenPersonalTrustDBDialog.
-      wininet: Trace the cache file entry's local file name rather than the passed-in cache entry info's local file name, as the caller may have passed a NULL pointer.
-      wininet: Don't call URL_LocalFileNameToPathA when asked for a unicode string and URL_LocalFileNameToPathW fails.
-      wininet: Fix trace typo.
-      cryptnet: Don't access URL cache entry before it's been read.
-      cryptnet: Set cache expiration time of objects that have an expiration time to the object's expiration time, rather than relying on the HTTP Expires header.
-      wintrust: Implement CryptSIPGetSignedDataMsg for .cat files.
-      crypt32: Implement CryptSIPRetrieveSubjectGuid for .cat files.
-      wintrust: Don't hardcode supported OIDs, let CryptDecodeObject handle it directly.
-      crypt32: Fix test failures on NT4.
-      crypt32: Fix some chain failures on Win9x/NT4.
-      crypt32: Remove an error that no longer fails.
-      crypt32: Fix error handling for cyclic chains.
-      wintrust: Fix test failures on Win9x.
-      inetmib1: Fix some test failures on Win9x/NT4.
-      inetmib1: Fix remaining failure on Win9x/NT4.
-      crypt32: Fix some test failures on Win9x.
+Juan Lang (39):
+      crypt32: Fix more test failures on Win9x.
+      rpcrt4: Add tests for UuidCreate.
+      crypt32: Fix remaining Win9x encoding test failures.
+      crypt32: Fix tests on WinME.
+      crypt32: Fix a test failure on Win98.
+      crypt32: Fix a few more test failures.
+      crypt32: Correct last error when no data are passed to CRYPT_AsnDecodeInt.
+      crypt32: Don't check for no data to decode in CryptDecodeObject{Ex}, doing so masks some errors.
+      crypt32: Make some variables const.
+      crypt32: Include policy being checked in failure message.
+      crypt32: Use helper function and broken() macro to make expected chain status results a little more clear.
+      crypt32: Actually compare chain status instead of doing a no-op comparison, and mark as todo the statuses that don't match in Wine.
+      cryptnet: Fix test failures on Windows Vista/2008.
+      crypt32: Microsoft fixed a bug with name constraints, so make Wine's behavior match.
+      crypt32: Correct another chain status discrepancy with Windows.
+      crypt32: Fix expected/got mixup.
+      wintrust: Add stub for WVTAsn1CatMemberInfoEncode.
+      wintrust: Add tests for WVTAsn1CatMemberInfoEncode.
+      wintrust: Implement WVTAsn1CatMemberInfoEncode.
+      wintrust: Add stub for WVTAsn1CatMemberInfoDecode.
+      wintrust: Add tests for WVTAsn1CatMemberInfoDecode.
+      wintrust: Implement WVTAsn1CatMemberInfoDecode.
+      wintrust: Add stub for WVTAsn1CatNameValueEncode.
+      wintrust: Add tests for WVTAsn1CatNameValueEncode.
+      wintrust: Implement WVTAsn1CatNameValueEncode.
+      wintrust: Add stub for WVTAsn1CatNameValueDecode.
+      wintrust: Add tests for WVTAsn1CatNameValueDecode.
+      wintrust: Implement WVTAsn1CatNameValueDecode.
+      crypt32: Don't crash if adding to a provider store fails.
+      crypt32: Pass flags to enumeration callback.
+      crypt32: Add stub for CertEnumPhysicalStore.
+      include: Fix typos.
+      crypt32: Correct trust error status for cyclic chains.
+      crypt32: Fix a failing test on Windows, and remove TODO_ERROR since Wine's implemenation already matches.
+      wintrust: Separate loading a message from a WINTRUST_CERT_INFO into a helper function.
+      wintrust: Separate loading a message from a WINTRUST_FILE_INFO into a helper function.
+      wintrust: Pass file handle and path to SOFTPUB_GetMessageFromFile.
+      wintrust: Partially implement SoftpubLoadMessage for catalog files.
+      crypt32: Change expected behavior of a test to match Windows Vista/2008.
 
 Kai Blin (2):
-      secur32: Make GetComputerObjectName(A|W) tests work on win2k3 domains.
-      dplayx: Set tests to "interactive" to avoid timing out on all machines.
+      winmm: Use skip() instead of trace() when skipping tests.
+      comdlg32: Avoid possible NULL pointer dereference (Coverity).
 
-Kirill K. Smirnov (1):
-      oleaut32: Add tests for metafiles, make them pass under Wine.
+Kirill K. Smirnov (5):
+      oleaut32: Print error messages as ERR.
+      oleaut32: Return correct error code.
+      oleaut32: Remove superfluous return statement.
+      gdiplus: IPicture_SaveAsFile updates seek pointer, so put it back.
+      gdiplus: Whole picture object should be cloned in GdipCloneImage(), not just parent class 'image'.
 
-Kjell Rune Skaaraas (1):
-      wined3d: Implement IWineD3DResourceImpl_GetPriority and IWineD3DResourceImpl_SetPriority for resource management.
+Lei Zhang (10):
+      shlwapi: Add some tests for AssocQueryStringW.
+      shlwapi: Fix AssocQueryStringW parameter checking.
+      shlwapi: Handle ASSOCSTR_EXECUTABLE in IQueryAssociations_GetString.
+      shlwapi: Close registry handles when destroying IQueryAssociations.
+      version: Prevent infinite looping in VersionInfo32_FindChild.
+      shlwapi: Refactor get executable code in IQueryAssociations_fnGetString.
+      shlwapi: Refactor data return code in IQueryAssociations_fnGetString.
+      shlwapi: Handle ASSOCSTR_FRIENDLYAPPNAME in IQueryAssociations_GetString.
+      shlwapi: Properly handle pszExtra in IQueryAssociations_GetString.
+      user32: Send messages for edit control context menu operations.
 
-Konstantin Kondratyuk (2):
-      fonts: Add afii61352 into tahoma.sfd.
-      fonts: Add afii61352 into tahomabd.sfd.
+Maarten Lankhorst (4):
+      includes: Fix CryptCATAdminAddCatalog definition.
+      quartz: Fix ACMWrapper to allow mono channels too.
+      quartz: Implement dynamic format changing in directsound renderer.
+      setupapi: Implement installing catalog files.
 
-Lei Zhang (11):
-      winspool: Check the return results from schedule_* functions.
-      gdiplus: Allocate enough space for BITMAPINFO in GdipCreateTextureIA.
-      gdiplus: Free memory on a failure.
-      gdiplus: Allocate enough space for BITMAPINFO in GdipBitmapLockBits.
-      gdiplus: Allocate enough space for BITMAPINFO in GdipBitmapUnlockBits.
-      gdiplus: Allocate enough space for BITMAPINFO in GdipLoadImageFromStream.
-      comctl32: Avoid a divide by zero in listview.
-      regedit: Use W version of TreeView_GetItem.
-      regedit: Check return values, don't request unneeded value which always fails.
-      regedit: Make branch export behavior work more like native regedit.
-      regedit: Pass VK_DELETE messages to Listview/Treeview child windows.
+Marcus Meissner (4):
+      Fixed RegEnumKey(Ex)W buffer sizes.
+      oleview: RegEnumKey gets always sizes, not -1.
+      jscript: Check for This->ctx and This->site earlier (Coverity).
+      mshtml: Initialize nswindow in create_doc_from_nsdoc.
 
-Louis Lenders (2):
-      shdocvw: Create default App Paths key for iexplore.exe.
-      msi: Add stub for MsiSetExternalUIRecord.
+Michael Karcher (14):
+      msxml3: Implementation of IXMLDOMNamedNodeMap::removeNamedItem.
+      msxml3: Correct handling of listLength == NULL in IXMLDOMNamedNodeMap::get_length.
+      msxml3: IXMLDOMNode_put_nodeValue: Use variant coercion.
+      msxml3: Use right COM invocation macro.
+      msxml3: Remove superflous re-conversion from wide chars to utf8.
+      msxml3: Fix leaks in callers of xmlChar_from_wchar.
+      msxml3: Fix leaking the BindStatusCallback if bind_url fails.
+      msxml3/tests: Fix assorted memory leaks.
+      msxml3: Fix memory leaks in node.c.
+      msxml3: Remove unneeded code.
+      msxml3: Use the _private element of xmlDoc as pointer.
+      msxml3: Add an orphan node list to xmlDoc.
+      msxml3: Use orphan node list.
+      msxml3: Initialize xmldoc->_private in IPersistStream::Load for IXMLDOMDocument.
 
-Maarten Lankhorst (7):
-      quartz: Implement IMediaPosition::put_CurrentPosition.
-      quartz: Add missing calls to EndFlush.
-      quartz: Don't abort starting for unconnected pin in avi splitter.
-      quartz: Return VFW_E_WRONG_STATE in file source if flushing.
-      quartz: Requeue in pullpin if request for data timed out.
-      dsound: Fix volume and panning for primary buffer.
-      winealsa.drv: Don't hang on last few bytes not played.
+Michael Stefaniuc (14):
+      shlwapi: Remove break after return (Smatch).
+      shdocvw/tests: Remove duplicated header include.
+      wininet: Remove duplicated header includes.
+      mlang/tests: Remove superfluous backslashes at end of lines.
+      riched32: Remove superfluous backslashes at end of lines.
+      dinput: Remove superfluous backslashes at end of lines.
+      advapi32/tests: Remove superfluous casts of void pointers to other pointer types.
+      riched20: Remove superfluous backslashes at end of lines.
+      winecfg: Fix compilation on older gcc versions.
+      gdi32: Don't cast the void pointer returned by GDI_GetObjPtr().
+      comctl32: Remove the superfluous casting of the LPVOID returned by Alloc().
+      comctl32: DPA_GetPtr() returns a LPVOID so don't cast its return value.
+      comctl32: LockResource() returns a LPVOID so don't cast its return value.
+      ntdll: Don't cast void pointers to other pointer types.
 
-Marcus Meissner (6):
-      jscript: Fixed crash in run test.
-      jscript: Fix number conversion in non-English locales.
-      msi/tests: Fix explicit C:\\Program Files\\ references.
-      msi: Fix potential uninitialized use of substg.
-      gdiplus: Also handle 32bpp bitmaps.
-      advapi32: Check for NULL ptr.
+Mounir IDRASSI (1):
+      winscard: Added SCardAccessStartedEvent implementation.
 
-Michael Karcher (12):
-      msxml3/tests: Clean up test_removeChild.
-      msxml3: removeChild can only delete direct children.
-      msxml3: Fail a bit earlier on removeChild(...,NULL,...).
-      msxml3: Simplify IXMLDOMNode::removeChild.
-      msxml3: Parameter validation for IXMLDOMNode::replaceChild and tests.
-      msxml3/tests: Valgrind fix.
-      msxml3: Basic implementation of IXMLDOMNode::replaceChild.
-      msxml3: replaceNode accepts IXMLDOMElement instead of IXMLDOMNode.
-      msxml3: Handle all variant types in IXMLDOMDocument::createNode.
-      msxml3: Revert "Simplify IXMLDOMNode::removeChild".
-      msxml3: _domtext->element is in fact a IXMLDOMNode.
-      msxml3: Text node should not aggregate element.
+Muneyuki Noguchi (35):
+      clock: Convert Japanese resource to UTF-8.
+      cmd: Convert Japanese resource to UTF-8.
+      cmdlgtst: Convert Japanese resource to UTF-8.
+      notepad: Convert Japanese resource to UTF-8.
+      oleview: Convert Japanese resource to UTF-8.
+      reg: Convert Japanese resource to UTF-8.
+      regedit: Convert Japanese resource to UTF-8.
+      taskmgr: Convert Japanese resource to UTF-8.
+      view: Convert Japanese resource to UTF-8.
+      wineboot: Convert Japanese resource to UTF-8.
+      winecfg: Convert Japanese resource to UTF-8.
+      winefile: Convert Japanese resource to UTF-8.
+      winemine: Convert Japanese resource to UTF-8.
+      winhlp32: Convert Japanese resource to UTF-8.
+      wordpad: Convert Japanese resource to UTF-8.
+      write: Convert Japanese resource to UTF-8.
+      appwiz.cpl: Convert Japanese resource to UTF-8.
+      avifil32: Convert Japanese resource to UTF-8.
+      comctl32: Convert Japanese resource to UTF-8.
+      comdlg32: Convert Japanese resource to UTF-8.
+      mpr: Convert Japanese resource to UTF-8.
+      msacm32: Convert Japanese resource to UTF-8.
+      mshtml: Convert Japanese resource to UTF-8.
+      msrle32: Convert Japanese resource to UTF-8.
+      oledlg: Convert Japanese resource to UTF-8.
+      serialui: Convert Japanese resource to UTF-8.
+      setupapi: Convert Japanese resource to UTF-8.
+      shell32: Convert Japanese resource to UTF-8.
+      user32: Convert Japanese resource to UTF-8.
+      wineps.drv: Convert Japanese resource to UTF-8.
+      wininet: Convert Japanese resource to UTF-8.
+      winmm: Convert Japanese resource to UTF-8.
+      shlwapi: Convert Japanese resource to UTF-8.
+      documentation: Add Japanese translation.
+      winex11: Prevent XCreateIC from returning NULL when input style isn't "root".
 
-Michael Stefaniuc (28):
-      oleaut32/tests: Remove redundant NULL check before SysFreeString (Smatch).
-      jscript: Remove redundant NULL check before SysFreeString (Smatch).
-      msxml3/tests: Remove redundant NULL check before SysFreeString (Smatch).
-      oleaut32: Remove redundant NULL check before SysFreeString (Smatch).
-      shlwapi/tests: Remove redundant NULL check before SysFreeString (Smatch).
-      oleaut32/tests: Fix printf format warning.
-      shell32: Use FAILED instead of !SUCCEEDED.
-      ole32: Use the right FAILED/SUCCEEDED macro instead of negating the opposite.
-      qmgr: Use FAILED instead of !SUCCEEDED.
-      quartz: Use the right FAILED/SUCCEEDED macro instead of negating the opposite.
-      ddraw/tests: Use FAILED instead of !SUCCEEDED.
-      urlmon/tests: Use FAILED instead of !SUCCEEDED.
-      mshtml/tests: Use FAILED instead of !SUCCEEDED.
-      d3d9/tests: Use FAILED instead of !SUCCEEDED.
-      shlwapi: Use FAILED instead of !SUCCEEDED.
-      dplayx: Use SUCCEEDED instead of !FAILED.
-      qcap: Use the right FAILED/SUCCEEDED macro instead of negating the opposite.
-      shdocvw: Use FAILED instead of !SUCCEEDED.
-      comctl32: Use FAILED instead of !SUCCEEDED.
-      dxdiagn: Use FAILED instead of !SUCCEEDED.
-      d3dxof: Use FAILED instead of !SUCCEEDED.
-      winefile: Use FAILED instead of !SUCCEEDED.
-      msxml3/tests: Use SUCCEEDED instead of !FAILED.
-      itss/tests: Use FAILED instead of !SUCCEEDED.
-      winecfg: Use FAILED instead of !SUCCEEDED.
-      msi: Use the right FAILED/SUCCEEDED macro instead of negating the opposite.
-      oleaut32: Use FAILED instead of !SUCCEEDED.
-      shell32/tests: Use FAILED instead of !SUCCEEDED.
+Nicolas Le Cam (3):
+      netapi32/tests: Add a test for well known account RIDs.
+      netapi32: Fix well known account RIDs in NetQueryDisplayInformation Level 1.
+      netapi32/tests: Fix a failing test on localized Windows.
 
-Muneyuki Noguchi (22):
-      regedit: Use "MS Shell Dlg" 9 in Japanese resources.
-      wineboot: Use "MS Shell Dlg" 9 in Japanese resources.
-      winefile: Use "MS Shell Dlg" 9 in Japanese resources.
-      taskmgr: Use "MS Shell Dlg" 9 in Japanese resources.
-      winecfg: Use "MS Shell Dlg" 9 in Japanese resources.
-      wordpad: Use "MS Shell Dlg" 9 in Japanese resources.
-      winhlp32: Use "MS Shell Dlg" 9 in Japanese resources.
-      notepad: Use "MS Shell Dlg" 9 in Japanese resources.
-      avifil32: Use "MS Shell Dlg" 9 in Japanese resources.
-      setupapi: Use "MS Shell Dlg" 9 in Japanese resources.
-      shell32: Use "MS Shell Dlg" 9 in Japanese resources.
-      user32: Use "MS Shell Dlg" 9 in Japanese resources.
-      wineps.drv: Use "MS Shell Dlg" 9 in Japanese resources.
-      wininet: Use "MS Shell Dlg" 9 in Japanese resources.
-      comctl32: Use "MS Shell Dlg" 9 in Japanese resources.
-      msacm32: Use "MS Shell Dlg" 9 in Japanese resources.
-      oledlg: Use "MS Shell Dlg" 9 in Japanese resources.
-      serialui: Use "MS Shell Dlg" 9 in Japanese resources.
-      shlwapi: Use "MS Shell Dlg" 9 in Japanese resources.
-      write: Add Japanese resources.
-      reg: Add Japanese resources.
-      mshtml: Add Japanese resources.
+Nikolay Sivov (5):
+      oleacc: Implemented GetRoleText[A/W] with tests.
+      gdiplus: Add some tests for pathiterator, fix leaks.
+      gdiplus: Some tests for GdipCreateRegionHrgn added.
+      gdiplus: Added Gdip[Get/Set]TextureWrapMode.
+      gdiplus: Added GdipSetClipGraphics.
 
-Nikolay Sivov (7):
-      gdiplus: Stub for GdipSetPathGradientBlend.
-      gdiplus: Implement GdipGetTextureTransform with test.
-      gdiplus: Implemented GdipSetTextureTransform with tests.
-      gdiplus: Implemented GdipResetTextureTransform.
-      gdiplus: Implemented GdipSetClipRect/GdipSetClipRectI.
-      gdiplus: Implemented GdipSetClipPath.
-      gdiplus: Stubs for GdipIsVisiblePoint/GdipIsVisiblePointI.
+Paul Bryan Roberts (11):
+      advapi32: ConvertStringSecurityDescriptorToSecurityDescriptor - more tests (pass).
+      ntdll: RtlSetControlSecurityDescriptor() implementation and test.
+      advapi32: LookupAccountNameW() - add got clause to test.
+      advapi32: LookupAccountNameW() - passes expected SidTypeUser test.
+      advapi32: LookupAccountNameW() - return correct domain name length for not-so-well-known SIDs.
+      advapi32: LookupAccountNameW() - use ACCOUNT_SIDS domain and name_use fields for well known SIDS.
+      advapi32: LookupAccountNameW() - correct call in SetEntriesInAclW().
+      advapi32: LookupAccountNameW() - use CreateWellKnownSid() properly.
+      advapi32: LookupAccountNameW() - NULL account name handled.
+      advapi32: LookupAccountSidW() - handle first user account.
+      advapi32: LookupAccountNameW() - only first user account and well known SIDs accepted.
 
-Paul Vriens (39):
-      kernel32/tests: Use skip instead of trace.
-      kernel32/tests: Skip some tests on win9x.
-      kernel32/tests: Fix tests on NT4.
-      kernel32/tests: Make sure we can remove a test directory.
-      kernel32/tests: Add extra tests for SetCurrentDirectory.
-      ddraw/tests: Fix a test on a Win98 box.
-      dsound/tests: Fix failure on Win9x and NT4.
-      userenv/tests: Don't crash on NT4.
-      ntdll/tests: Use skip and add a FreeLibrary.
-      ntdll/tests: Show that we are skipping tests.
-      ntdll/tests: Show that we are skipping tests.
-      imm32/tests: Skip tests when IME support is not implemented.
-      kernel32/tests: Add a skip.
-      kernel32/tests: Add a skip.
-      comctl32/tests: Don't crash on some win9x boxes.
-      gdi32/tests: Fix a few failures on win9x.
-      kernel32/tests: Fix the remaining errors on win95.
-      kernel32/tests: Fix some failures on win9x.
-      kernel32/tests: Add some skips to fix failures on WinMe.
-      kernel32/tests: We need the return value.
-      kernel32/tests: Fix failures on WinMe.
-      user32/tests: Run tests on win95 again.
-      user32/tests: Fix failures on W2K and below.
-      kernel32/tests: Add a missing newline.
-      advapi2/tests: Compare instead of assign.
-      inetmib1/tests: Compare instead of assign.
-      msxml3/tests: Compare instead of assign.
-      shell32/tests: Compare instead of assign.
-      gdi32/tests: Skip some tests on Win9x/WinMe.
-      shlwapi/tests: Don't crash on NT4.
-      wininet/tests: Don't crash on W2K and below.
-      lz32/tests: Change a trace into a skip.
-      ole32/tests: Fix two failures on NT4.
-      shell32/tests: Fix a failure on NT4.
-      wintrust/tests: Vista/W2K8 have some extra struct members.
-      user32/tests: Don't crash on NT4.
-      winmm/tests: Fix the failures on Win9x and WinMe.
-      winmm/tests: Fix some failures on Vista and W2K8.
-      spoolss/tests: Fix a failure on Vista/W2K8.
+Paul Vriens (20):
+      advpack/tests: Use win_skip instead of trace.
+      kernel32/tests: Free memory after use.
+      mscms/tests: Fix a typo.
+      setupapi/tests: Fix a failure on win98.
+      psapi/tests: Use win_skip instead of trace.
+      uxtheme/tests: Use skip instead of trace.
+      comctl32/tests: Use win_skip instead of trace.
+      comctl32/tests: Use win_skip instead of trace.
+      version/tests: Fix a copy-paste mistake.
+      version/tests: Use win_skip instead of trace.
+      usp10/tests: Use win_skip instead of trace.
+      shell32/tests: Use win_skip instead of trace.
+      shell32/tests: Use win_skip instead of trace.
+      userenv/tests: Rewrite the test to cope with multiple blocks of tests.
+      userenv/tests: Skip a few tests on NT4.
+      kernel32/tests: Fix a few failures on win9x and winme.
+      kernel32/tests: Skip a test if needed.
+      oleacc/tests: Fix some failures on Win98 up to W2K.
+      shlwapi/tests: Fix failures on multiple platforms.
+      riched20/tests: Skip some tests on Win9x and WinMe.
 
-Philip Nilsson (1):
-      configure: Add i486-mingw to the cross-compiler prefixes.
+Rafał Mużyło (1):
+      configure: Avoid problem with recent autoconf.
 
-Piotr Caban (9):
-      msxml3: Change order of interface recognition and fix typo.
-      msxml3: Fix xmlnode_get_xml to work properly with XML_DOCUMENT_NODE.
-      msxml3/test: Add test for ISAXXMLReader_parse (passing XMLDOMDocument as argument).
-      msxml: Partial implementation of ISAXXMLReader_putProperty.
-      msxml: Fix implementation of ISAXContentHandler_characters.
-      msxml: Rewrite ISAXContentHandler_characters.
-      msxml: Fix parsing <.../> elements.
-      msxml: Added ISAXLexicalHandler_comment event.
-      msxml: Added CDATA related events handling.
+Reece Dunn (5):
+      shell32: Print the correct GUIDs in the shellpath tests.
+      msvcmaker: The Visual Studio project conversion tool requires a configuration type.
+      include: Fixed the tom constant values.
+      include: data_size on GetPrivateData should be a pointer type since it is an in/out parameter.
+      include/mlang: Added a missing out attribute.
 
-Reece Dunn (1):
-      kernel32: Be more verbose when reporting the sync test failures.
+Ricardo Filipe (12):
+      reg.exe: Added Portuguese translation.
+      oleview: Added Portuguese translation.
+      xcopy: Added Portuguese translation.
+      wordpad: Added Portuguese translation.
+      write: Added Portuguese translation.
+      taskmgr: Added Portuguese translation.
+      net: Added Portuguese translation.
+      wineboot: Added Portuguese translation.
+      msvfw32: Added Portuguese translation.
+      iccvid: Added Portuguese translation.
+      sane.ds: Added Portuguese translation.
+      mshtml: Added Portuguese translation.
 
-Rob Shearman (58):
-      include: Add DShellFolderViewEvents to shldisp.idl.
-      rpcrt4: Don't call VirtualFree with MEM_RELEASE and non-zero size.
-      msvcrt: Fix mutual exclusion over logical or is always a non-zero constant.
-      msvcrt: Fix testing zero-valued expression with bitwise and in find_best_locale_proc.
-      msvcmaker: Define USE_COMPILER_EXCEPTIONS and HAVE_SPAWNVP.
-      msvcmaker: Fix the arguments passed to winebuild to generate the .def file.
-      msvcmaker: Fix the generated filename for the spec file for modules with extensions other than .dll.
-      msvcmaker: Fix generated imports for Wine modules and link with delayed imports.
-      msvcmaker: Factor out some common settings.
-      msvcmaker: Add HAVE_* defines for some types present in the MSVC build environment.
-      msvcmaker: Update the HAVE_* defines for headers in the generated config.h file.
-      msvcmaker: Remove the defining of __ASM_SHORT and __ASM_STRING in the generated config.h file.
-      msvcmaker: Update the function list for which HAVE_* defines are written into config.h.
-      msvcmaker: Add support for building wine.lib.
-      msvcmaker: Fix invocation of winebuild to generate compatible .def files.
-      msvcmaker: Generate .h files from .idl files specified in IDL_H_SRCS makefile rules.
-      msvcmaker: Generate include project and make every wine module depend on it.
-      msvcmaker: Fix detection of static libraries.
-      msvcmaker: Define _USE_MATH_DEFINES so that M_PI and other constants are defined when including <math.h>.
-      urlmon: Fix race in protocol tests.
-      ole32: Create a dummy window for use in the drag and drop API tests.
-      ole32: Fix clipboard test failures on some versions of Windows.
-      winebuild: Declare fatal_error and fatal_perror as non-returning functions.
-      uxtheme: SetPropW returns a BOOL not an HRESULT.
-      shlwapi: Use an error code instead of -1 for signalling prefix not being found in URL_GuessScheme.
-      d3d9: Fix incorrect ordering of brackets in IDirect3DVertexShader9Impl_GetDevice.
-      avifil32: Fix type of variable used to store the result of ICCompress in AVIFILE_EncodeFrame.
-      oledlg: Fix the type of ret in UIINSERTOBJECTDLG_PopulateObjectTypes.
-      avifil32: Fix treating the return values of mmio* functions as HRESULTs instead of MMRESULTs.
-      d3d8: Fix incorrect ordering of brackets in IDirect3DVertexShader8Impl_GetDevice.
-      comcat: Fix mixing of HRESULT and LSTATUS types in COMCAT_CLSID_IEnumGUID_Next, COMCAT_IEnumCATEGORYINFO_Next and COMCAT_CATID_IEnumGUID_Next.
-      advapi32: Output the last error when services tests fail.
-      cabinet: Check buffer size before copying in NONEfdi_decomp.
-      include: Define DD_OK to S_OK instead of 0.
-      include: Wrap uses of u_* types in ws2tcpip.h with WS() macro.
-      winhttp: Fix compilation with MinGW/MSVC.
-      urlmon: Compare HRESULT value explicitly against S_OK instead of using an implicit != 0 comparison.
-      wininet: Compare HRESULT values explicitly against S_OK instead of using an implicit != 0 comparison.
-      winedos: Compare HRESULT value explicitly against S_OK instead of using an implicit != 0 comparison.
-      quartz: Don't use strlenW in array size declaration.
-      quartz: Fix placement of WINAPI attribute in fnFoundSeek typedef.
-      wininet: Make WININET_AllocHandle 64-bit safe by using the correct type in the sizeof expression.
-      include: Generate error codes with correct type in urlmon.idl.
-      oleaut32: Make the code in copy_to_variant and copy_from_variant more portable.
-      wininet: Add tests for InternetTimeFromSystemTimeW with insufficient buffer.
-      wininet: Fix behaviour of InternetTimeFromSystemTimeA/W when a buffer that is too small is passed in.
-      wininet: Move internet time tests from http.c to internet.c.
-      Add configure check for dirent.h and readdir.
-      d3d8/9: Use WINED3D_OK instead of D3D_OK in vertexshader.c.
-      wininet: Return error codes explicitly from URLCache functions instead of returning a BOOL and storing the error code in the last error value.
-      wininet: Fix GetUrlCacheEntryInfoA/W when a NULL lpCacheEntryInfo parameter is passed in.
-      wininet: Add tests for passing invalid parameters into InternetTimeFromSystemTimeA/W.
-      wininet: Fix behaviour of InternetTimeFromSystemTimeA/W when dealing with invalid parameters.
-      wininet: Validate parameters passed to RetrieveUrlCacheEntryInfoA/W.
-      wininet: Get rid of rc variable in InternetReadFile_test.
-      wininet: Fix crash when calling HttpQueryInfoA/W(HTTP_QUERY_RAW_HEADERS) before any response has been received from a server.
-      msvcmaker: Don't generate project files for DLLs that can't be compiled with MSVC.
-      msvcmaker: Don't automatically add a define for the DLL name.
+Rob Shearman (16):
+      jscript: Fix shift/reduce conflict caused by ArrayLiteral.
+      rpcrt4: The type referred to by the wire_marshal attribute in server.idl must be a pointer.
+      wnaspi32: Protect the inclusion of dirent.h in aspi.c.
+      shell32: Fix the position where WINAPI is specified in the LPFNOFN typedef.
+      rsaenh: Make some functions used in only one file static.
+      write: Close the thread and process handles returned by CreateProcessW.
+      rsaenh: Add a value to the empty braces in the initialiser for aOIDDescriptor in build_hash_signature.
+      jscript: Fix shift/reduce conflict in IfStatement rule.
+      kernel32: Convert NLS resource files using hex-encoded UTF-16 strings into UTF-8.
+      msvcmaker: Generate rules for IDL_C_SRCS, IDL_S_SRCS, IDL_P_SRCS and IDL_TLB_SRCS.
+      kernel32: Fix some Esperanto day and month names.
+      widl: Check for overflow when parsing integer constants.
+      wrc: Check for overflows when parsing integer constants.
+      wrc: Don't accept "0" as a valid codepage in "#pragma code_page" directives.
+      include: Fix the level of indirection for the umd_version parameter of the CheckInterfaceSupport method of IDXGIAdapter.
+      wpp: Check for overflows when parsing integer constants.
 
-Roderick Colenbrander (7):
-      wined3d: Re-add a comment which got lost.
-      wined3d: UpdateSurface should take into account the offset from the source rectangle.
-      opengl32: Don't run wgl tests on old gl drivers.
-      opengl32: Add some driver traces to the tests.
-      opengl32: Remove some tests which cause issues on win9x.
-      opengl32: Merge recent opengl extensions and prepare for opengl 3.0.
-      opengl32: Add a test case for WGL_ARB_create_context/opengl3.
+Roderick Colenbrander (12):
+      opengl32/tests: Don't call wglGetProcAddress at the start of the test.
+      wined3d: arbfp_set_shader_blit should handle ENTER_GL/LEAVE_GL instead of the caller.
+      wined3d: arbfp_blit_unset should call ENTER_GL/LEAVE_GL instead of the caller.
+      wined3d: Add ENTER_GL/LEAVE_GL to gen_yuv_shader.
+      wined3d: Prevent a recursive ENTER_GL before calling blitter->free_private.
+      wined3d: Fix a recursive ENTER_GL in read_from_framebuffer.
+      wined3d: Fix recursive ENTER_GL in LoadLocation.
+      wined3d: ActivateContext caused a lot of recursive ENTER_GL calls while it is especially dangerous in here as this function can indirectly trigger GDI calls.
+      wined3d: Fix recursive ENTER_GL in UpdateSurface.
+      wined3d: Protect gl calls in Volume_LoadTexture with ENTER_GL/LEAVE_GL.
+      wined3d: Remove ENTER_GL/LEAVE_GL from VolumeTexture_PreLoad because it doesn't make any GL calls.
+      opengl32: Add some updates for recent opengl extensions.
 
-Stefan Dösinger (1):
-      wined3d: Initialize standalone surface parameters.
+Stefan Leichter (2):
+      rpcrt4: Add stub for MesEncodeDynBufferHandleCreate.
+      include: Fix prototype of SCardReleaseStartedEvent.
 
-Stefan Leichter (1):
-      winscard: Add stubs for SCardAddReaderToGroupA/W.
+Sylvain Petreolle (1):
+      ole32: Stub implementation for CoGetCallerTID.
 
-Ulrich Czekalla (1):
-      shell32: Revert c1f2824429286dd60fac723611b801e67eb745b1. It caused poor performance.
+Tobias Jakobi (3):
+      winex11: Remove acute/apostrophe from German keyboard layout tables.
+      wined3d: Fix some typos.
+      wined3d: Add GL_TEXTURE_BINDING_3D to wined3d_gl header.
 
-Vincent Povirk (2):
-      shell32/tests: Accept delays in getting ABN_POSCHANGED notifications.
-      user32: Handle undocumented WM_POPUPSYSTEMMENU message.
+Vijay Kiran Kamuju (1):
+      include: Add commctrl.rh.
 
-Vitaliy Margolen (3):
-      user32/tests: Use empty_message_queue with timeouts.
-      user32/tests: Make it easier to identify failed tests.
-      user32/tests: Move shell test to the end - killing explorer affects lots of tests.
-
-Vitaly Lipatov (1):
-      include/ddk: Fix include path and include guard name.
+Vitaliy Margolen (1):
+      wined3d: Add one more FBO error status code.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index 9ba442c..c667a06 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.1.6
+Wine version 1.1.7
diff --git a/configure b/configure
index c7ad362..72bd48a 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.61 for Wine 1.1.6.
+# Generated by GNU Autoconf 2.61 for Wine 1.1.7.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -574,8 +574,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.1.6'
-PACKAGE_STRING='Wine 1.1.6'
+PACKAGE_VERSION='1.1.7'
+PACKAGE_STRING='Wine 1.1.7'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 
 ac_unique_file="server/atom.c"
@@ -1305,7 +1305,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Wine 1.1.6 to adapt to many kinds of systems.
+\`configure' configures Wine 1.1.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1374,7 +1374,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.1.6:";;
+     short | recursive ) echo "Configuration of Wine 1.1.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1504,7 +1504,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.1.6
+Wine configure 1.1.7
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1518,7 +1518,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Wine $as_me 1.1.6, which was
+It was created by Wine $as_me 1.1.7, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -26442,7 +26442,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Wine $as_me 1.1.6, which was
+This file was extended by Wine $as_me 1.1.7, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -26495,7 +26495,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Wine config.status 1.1.6
+Wine config.status 1.1.7
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
