diff --git a/ANNOUNCE b/ANNOUNCE
index c98aec2..796dd7d 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,18 +1,18 @@
-This is release 0.9.52 of Wine, a free implementation of Windows on Unix.
+This is release 0.9.53 of Wine, a free implementation of Windows on Unix.
 
 What's new in this release:
-  - Improved graphics tablet support.
-  - Support for RPC context handles.
-  - Fixes for some longstanding screen depth issues.
-  - Implementation of "My Network Places" shell folder.
+  - RunOnce and Run entries now executed on startup.
+  - Beginnings of support for emulated disk devices.
+  - Many Richedit improvements.
+  - Nicer looking color dialog.
   - Lots of bug fixes.
 
 Because of lags created by using mirrors, this message may reach you
 before the release is available at the public sites. The sources will
 be available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.52.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-0.9.52.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.53.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-0.9.53.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -34,366 +34,484 @@
 
 ----------------------------------------------------------------
 
-Changes since 0.9.51:
+Changes since 0.9.52:
 
-Alex Villacís Lasso (2):
-      user32: Fix regression in DlgDirList caused by modified LB_DIR return behavior, with tests.
-      comdlg32: Fix another regression in 3.1-style file dialog from LB_DIR fix.
+Alexander Dorofeyev (6):
+      wined3d: Free palette handle when destroying IWineD3DPaletteImpl.
+      ddraw: Release palette interfaces.
+      ddraw: Remove redundant iface<->impl casts in IDirect3DTextureImpl_Load.
+      wined3d: Fix regression of colorfill and texture to swapchain codepaths in BltOverride.
+      include/d3d.h: Fix method calling macros for IDirect3DTexture.
+      ddraw/tests: Add test for rendering vertices with zero rhw.
 
-Alexander Dorofeyev (7):
-      ddraw: Fix incorrect WARN text.
-      wined3d: Rewrite IWineD3DSurfaceImpl_BltOverride colorfill codepath.
-      wined3d: Use IWineD3DDeviceImpl_ClearSurface in IWineD3DDeviceImpl_Clear.
-      ole32: Fix wrong timeout check.
-      ws2_32: Fix timeout check.
-      wined3d: Add zero/near zero vertex rhw special case.
-      wined3d: Also update alpha test when stage texture is NULL.
+Alexander Nicolaysen Sørnes (5):
+      comdlg32: PageSetupDlgW: Set orientation in printer dialog.
+      comdlg32: PageSetupDlgW: Set paper size in printer dialog.
+      wordpad: Draw margin lines in print preview.
+      crypt32: Implement CryptFindLocalizedName.
+      cmd: Seed the random number generator.
 
-Alexander Nicolaysen Sørnes (1):
-      comdlg32: PageSetupDlgW: Load paper orientation in ChangePrinterW.
+Alexandre Julliard (33):
+      winedos: Don't emulate in 32-bit mode interrupts that don't have a specific handler.
+      shell32: Fix messed up indentation.
+      crypt32: Avoid casting away const from the context pointer.
+      server: Use exponential backoff when waiting for wineserver -k to complete.
+      server: Redesign the server shutdown processing.
+      ntdll: Print an error for unsupported shared writable mappings.
+      advapi32: Don't wait for 20 seconds if a service fails to start.
+      kernel32: Launch wineboot on first startup of a wine process.
+      mountmgr.sys: Added initial stub for the mount point manager device.
+      mountmgr.sys: Create a hard disk device for PhysicalDrive0.
+      mountmgr.sys: Create disk devices for all configured drives.
+      mountmgr.sys: Add devices to the MountedDevices registry key.
+      mountmgr.sys: Implemented the IOCTL_MOUNTMGR_QUERY_POINTS request.
+      kernel32: Implemented FindFirstVolume/FindNextVolume using the mount point manager.
+      kernel32/tests: Added tests for FindFirstVolume/FindNextVolume.
+      ntdll: Return a proper Information field also when opening a server file object.
+      advapi32: Fix the length written to the pipe for the start message.
+      wineboot: Don't print errors for non-fatal problems.
+      configure: Add --without options for all optional dependencies.
+      configure: Added a check for the soname of libodbc.
+      wined3d: Use unsigned int instead of size_t for element counts.
+      wined3d: Use unsigned int instead of size_t for the glsl mask size.
+      advapi32/tests: Print the correct size in an error message.
+      gdi32/tests: Avoid using size_t in traces.
+      kernel32/tests: Avoid using size_t in traces.
+      server: Wait for the expiration of all the process SIGKILL timers before exiting the server.
+      regedit: Fixed parsing of hex sequences.
+      server: Accept utf-8 data as input in registry files.
+      server: Make the registry parser more tolerant about malformed hex values.
+      server: Output incorrectly-terminated strings in hex format.
+      kernel32: Fail more gracefully in GetVolumeInformation for fake drive devices.
+      mountmgr.sys: Implemented IOCTL_DISK_GET_DRIVE_GEOMETRY and IOCTL_STORAGE_GET_DEVICE_NUMBER.
+      Spelling fixes in French man pages.
 
-Alexandre Julliard (30):
-      Revert "user32: Moved some 16-bit functions."
-      oleaut32/tests: Avoid relying on system-dependent rounding.
-      server: Fix possible NULL dereference.
-      ntoskrnl.exe: Added implementation for IoCreateDriver and IoDeleteDriver.
-      ntoskrnl.exe: Allow returning data in ioctls along with a positive non-zero status.
-      user32: Set the WSF_VISIBLE flag on the main window station.
-      advapi32: Reimplement RegisterServiceCtrlHandler on top of RegisterServiceCtrlHandlerEx.
-      advapi32: Fix RegisterServiceCtrlHandler spec entry.
-      advapi32: Use exponential backoff when waiting for a service to start.
-      advapi32: Replace the list of services with an array.
-      advapi32: Return from StartServiceCtrlDispatcher when all services are stopped.
-      kernel32: Forward interrupts in 32-bit code to winedos too.
-      server: Use SIGQUIT instead of SIGTERM to terminate a thread.
-      advapi32: Move the EnumDependentServicesA/W stubs in service.c where they belong.
-      wineboot: Simplify the unnecessarily complex code structure.
-      wineboot: Add support for starting NT-style services.
-      wineboot: Rewrite wininit.ini processing to use GetPrivateProfileSectionW. Convert to Unicode.
-      wineboot: Convert the rest of the code to Unicode.
-      wine.inf: Mark the spool service as disabled, it's just a stub.
-      include: Added the mountmgr.h header.
-      server: Don't count system processes as users of a desktop.
-      server: Don't give out full access to the system process event.
-      explorer: It no longer needs to be made a system process.
-      advapi32: Start non-interactive services in a separate window station.
-      ntdll: Increase the buffer size dynamically for relay debug lists.
-      kernel32: Store the initial directory as a full path in the process parameters.
-      kernel32: Yet another workaround for broken apps in GlobalMemoryStatus.
-      kernel32: Initialize MaximumLength of the user params directory too.
-      winedos: Add the possibility of refusing to emulate some interrupts.
-      wintab32: Fix debug traces to use wine_dbg_sprintf.
+Alistair Leslie-Hughes (17):
+      msxml3: Return E_INVALIDARG when value is NULL.
+      msxml3: Implement setNamedItem.
+      msxml3: Implement createComment.
+      msxml3: Implement createAttribute.
+      msxml3: Add missing values for get_nodeName.
+      msxml3: Cannot add an attribute with appendChild.
+      msxml3: Implement get_xml.
+      msxml3: Tests for get_xml, createAttribute, CreateComment, setNamedItem.
+      msxml3: nextSibling not supported for Attribute, Document and Document Fragment Nodes.
+      msxml3: lastChild not supported for CDATASection, Comment, PI and Text Nodes.
+      msxml3: createProcessingInstruction: Check arguments are valid.
+      msxml3: previousSibling not supported for Attribute, Document and Document Fragment Nodes.
+      msxml3: get_attributes not supported for Attribute, CData, Comment, Doc, Doc Frag, Entity and Text Nodes.
+      msxml3: Suppress IID_IRunnableObject FIXME since its not supported.
+      mscoree: Add stubs for DllCanUnloadNow and DllGetClassObject.
+      user32: Add SetProcessDPIAware stub.
+      msxml3: Fix memory leak in test.
 
-Alistair Leslie-Hughes (1):
-      msxml3: Fix memory leaks in tests.
+Andre Wisplinghoff (1):
+      regedit: Refresh tree view on import.
 
-Andrew Riedi (1):
-      gdiplus: Add GdipCreateHBITMAPFromBitmap() stub.
-
-Andrew Talbot (10):
+Andrew Talbot (26):
+      msvfw32: Remove unneeded casts.
+      ntdll: Remove unneeded casts.
+      advapi32: Remove unneeded casts.
+      comctl32: Remove unneeded casts.
+      cabinet: Remove unneeded cast.
+      avifil32: Remove unneeded casts.
+      user32: Fix a spelling typo.
+      cryptnet: Remove unneeded cast.
+      crypt32: Remove unneeded casts.
+      dbghelp: Remove unneeded casts.
+      ddraw: Remove unneeded casts.
+      dplayx: Remove unneeded casts.
+      dsound: Remove unneeded casts.
+      comctl32: Remove unneeded casts.
+      d3d8: Remove unneeded casts.
+      comdlg32: Remove unneeded cast.
+      imm32: Remove unneeded cast.
+      iccvid: Remove unneeded casts.
+      gphoto2.ds: Remove unneeded casts.
+      gdi32: Remove unneeded casts.
+      dxdiagn: Remove unneeded casts.
+      gdiplus: Remove unneeded casts.
+      itss: Remove unneeded casts.
       kernel32: Remove unneeded casts.
-      kernel32: Remove unneeded casts.
-      kernel32: Remove unneeded casts.
-      mapi32: Remove unneeded casts.
-      kernel32: Revert the removal of a cast from a macro.
-      mciavi32: Remove unneeded casts.
-      mciseq: Remove unneeded casts.
-      msacm32: Remove unneeded casts.
-      msvcrt: Remove unneeded cast.
-      msi: Remove unneeded cast.
+      mapi32: Remove unneeded cast.
+      mscms: Remove unneeded casts.
 
-Andrey Turkin (5):
-      server: I/O completion ports can only be used with overlapped I/O.
-      server: Store I/O completion information in async structure.
-      ntdll: Implement BindIoCompletionCallback.
-      dbghelp: Adjust minidump streams ordering and sizing.
-      dbghelp: Treat const addresses as const unsigned.
+Andrey Esin (2):
+      wordpad: Russian translation.
+      shell32: Fixed typo.
 
-Aric Stewart (1):
-      fonts: Correct External leading for japanese small font and enable fontmetric test for the font.
+Andrey Turkin (2):
+      wineboot: Fix installation of SFP protected files.
+      dbghelp: Implement ImageDirectoryEntryToDataEx.
 
-David Adam (4):
-      d3dx8: Add definition for MatrixStack.
-      d3dx8: Rename d3dx_core_private.h to d3dx8_private.h.
-      d3dx8: Add basic functions and stubs for MatrixStack.
-      d3dx8: Implement D3DXCreateMatrixStack.
+Aric Stewart (3):
+      imm32: When updating a NULL HIMCC with NULL just return NULL. Handle the NULL HIMCC for the compstr when doing a ImmNotifyIME for a reset.
+      imm32: ImmNotifyIMM with CPS_CANCEL fully clears the composition string. Also enable respective tests.
+      fonts: Add Japanese small font.
 
-Dmitry Timoshkov (11):
-      user32: Always clip the button painting to the client rectangle.
-      gdi32: Add a GdiConvertToDevmodeW test, make it pass under Wine.
-      gdi32: When compiling with PSDK headers request latest DEVMODE definition.
-      gdi32: In the calculations use a fixed dmSize, not a passed in (possibly too large) one.
-      user32: Make sure to setup clipping before any painting is done.
-      user32: Set the edit text in a combobox only if combobox has strings.
-      include: Add CONTEXT86_EXTENDED_REGISTERS and CONTEXT86_ALL definitions.
-      gdi32: Add a test for minimal acceptable DEVMODEA size, make it pass under Wine.
-      user32: Add a test for an invalid DEVMODE passed to ChangeDisplaySettings, make it pass under Wine.
-      riched20: Remove a redundant parameter from trace.
-      user32: Reimplement IsHungAppWindow.
+Austin English (7):
+      dplayx: Fix a typo.
+      msi: Fix several typos.
+      Spelling fixes.
+      More spelling fixes.
+      Spelling fixes.
+      Spelling fixes.
+      loader: Add disabling dlls to wine man page.
 
-Eric Pouech (1):
-      valgrind: Made Wine compliant will latest Valgrind macros (the one removed from 3.3.0 and deprecated since 3.2.0).
+Chris Wulff (1):
+      shdocvw: Hide and show the frame window instead of the inner one.
 
-Francois Gouget (13):
-      rpcrt4: Add an rpcasync.h header stub and fix the RpcErrorStartEnumeration() prototype.
-      user32/tests: Use GetProcAddress() on ChangeDisplaySettingsExA() because it is missing on Windows 95.
-      msi: Add a trailing '\n' to Wine traces.
-      secur32/tests: Dynamically load various APIs and don't link with crypt32.dll to make the test run on Windows 95.
-      shell32/tests: Avoid SHDeleteKeyA() because shlwapi.dll is missing on Windows 95.
-      shell32/tests: Copy the PathRemoveBackslashA() and PathAddBackslashW() implementations because shlwapi.dll is missing on Windows 95.
-      shell32/tests: Use GetProcAddress() on SHGetPathFromIDListW() because it is missing on Windows 95.
-      shell32/tests: Use GetProcAddress() on Shell_NotifyIconW() because it is missing on Windows 95.
-      shell32/tests: Use GetProcAddress() on SHFileOperationW() because it is missing on Windows 95.
-      oleaut32/tests: Avoid SHDeleteKeyW() because shlwapi.dll is missing on Windows 95.
-      dinput: Make _dump_cooperativelevel_DI() and _dump_EnumDevices_dwFlags() more self-contained.
-      Assorted spelling fixes.
-      configure: Work around an Xcode 3.0 bug when detecting the libGL library.
+Dan Kegel (1):
+      winemenubuilder: Expand short paths, else menu items aren't created for CSLU Toolkit.
 
-Gerald Pfeifer (1):
-      msi: Fix error handling in encode_streamname().
+Detlef Riekenberg (1):
+      spoolss: Add stubs for SpoolerHasInitialized and SpoolerInit.
 
-Huw Davies (6):
-      include: Add IMimeAllocator.
-      inetcomm: Add IMimeAllocator implementation.
-      inetcomm: Fix spelling typo.
-      inetcomm: Implement IMimeBody_GetParameters.
-      inetcomm: Unquote parameter values.
-      inetcomm: Implement IMimeBody_GetOffsets.
+Divan Burger (6):
+      comdlg32: Fix bug where the colour graph's cross is not painted.
+      comdlg32: Clamp hue and saturation when clicking in colour graph in colour dialog.
+      comdlg32: Modernize the look of the luminance bar in the colour dialog.
+      comdlg32: Modernize the look of the colour graph's cross in the colour dialog.
+      comdlg32: Modernize the look of the selected colour box in the colour dialog.
+      comdlg32: Modernize the look of the colour boxes in the colour dialog.
 
-Ivan Sinitsin (1):
-      winefile: Save font settings in registry.
+Dmitry Timoshkov (9):
+      winecfg: Don't mix the strings in unix and windows locales.
+      gdi32: Remove redundant indentation levels in CreateFontIndirectA and CreateFontIndirectW.
+      msvcrt: Rename _environ to avoid a conflict on Solaris.
+      gdi32: Add more tests for bitmap font metrics scaling.
+      comdlg32: If lpstrFile points to a valid string use it as a default value for edit control.
+      gdi32: Add support for scaling font metrics.
+      gdi32: Fix the regression caused by the scaling font metrics patch.
+      gdi32: Fix a GdiFont leak.
+      gdi32: Simplify GetEnumStructs.
 
-Jacek Caban (24):
-      mshtml: Remove not used argument of nsACString_GetData.
-      mshtml: Remove not used argument in nsAString_GetData.
-      shdocvw: Ignore Exec(CGID_Explorer, 66) calls in tests.
-      urlmon: Use flag to store protocol lock state.
-      urlmon: Fixed protocol tests.
-      urlmon: Added BindProtocol::GetBindString implementation.
-      urlmon: Added IServiceProvider implementation to BindProtocol object.
-      urlmon: Added BindProtocol::Switch implementation.
-      urlmon: Added BindProtocol::Continue implementation.
-      urlmon: Added BindProtocol::[Un]LockRequest.
-      urlmon: Added more BindProtocol::ReportProgress implementation.
+Eric Pouech (29):
+      richedit: Added support for some message (key, mouse) filtering events.
+      richedit: Fixed a couple of charformatXXm structure conversions because of alignment issues.
+      richedit: Correctly set the CFM_WEIGHT in charformat2.
+      richedit: Fully initialize the first style.
+      richedit: Correctly copy the pitch and family field.
+      richedit: Don't allow recursive EN_REQUESTRESIZE notifications.
+      richedit: Extend the usage of underlinetype from charformat2 in richedit.
+      richedit: Now painting the newly supported underline types.
+      richedit: Simplified handling of background brush while painting.
+      richedit: Correctly initialize the paraformat structure.
+      richedit: Now dumping all fields from the paraformat2 structure.
+      richedit: Properly copying the paraformat2 structure for paragraphs.
+      richedit: Enforce usage of paraformat2 fields instead of homegrown ones for paragraphs.
+      richedit: Fix the para computation when zoom is used.
+      richedit: Now drawing the paragraph borders (if any) from paraformat2.
+      richedit: Added support for spaces above & below paragraphs.
+      richedit: Added support for intra-paragraph line space.
+      richedit: Rewrote FindPixelPos so that it always return something.
+      richedit: Small optimisation in ME_GetSelectionInsertStyle.
+      richedit: Move init code after some sanity checks to avoid unneeded computations.
+      richedit: Don't recreate the DC all the time, but use uniformely a ME_Context structure where needed.
+      richedit: Optimizations for the style selection.
+      richedit: Don't force repaint while the redraw flag is off.
+      richedit: Simplify first para style handling by creating a context.
+      richedit: Only copy the charset when it's defined.
+      richedit: Initialize all the cursors at editor creation.
+      richedit: Check return of GetScrollInfo before accessing the returned structure.
+      richedit: Uniformly handle the bPitchAndFamily field out of CHARFORMAT.
+      gdi32: Break loop in MF_PlayMetaFile when META_EOF is found.
+
+Francois Gouget (9):
+      msxml3/tests: Add the trailing '\n' to an ok() call.
+      wintab32: Add a trailing '\n' to a Wine trace.
+      advapi32: RegGetValue() should not return an error when expanding a string and given a NULL buffer and a zero size.
+      advapi32: RegGetValueW() must return the required buffer size in bytes, not WCHARs.
+      kernel32/tests: Add more ExpandEnvironmentStringsA() tests.
+      kernel32/tests: Despite the MSDN claims, GetComputerName() does not return the required buffer size... except on Vista. So update the tests accordingly.
+      msi/tests: Tweaked so it does not look like things are misspelled.
+      shell32: A lot of lnk files have extra data blocks at the end, although they don't seem to matter much. So drop the corresponding ERR() to a WARN().
+      winemenubuilder: EnumResourceNamesW() returns false when we find the icon. So fix the corresponding misfiring trace.
+
+Gerald Pfeifer (24):
+      msi: Add missing initializer for delete_ops.
+      wined3d: Remove noop check in IWineD3DBaseTextureImpl_Appl().
+      user32: Fix type of loop variable.
+      winhelp: Remove a dead condition.
+      taskmgr: Remove redundant out-of-domain checking which is already handled by PerfDataGetProcessorUsage() and PerfDataGetProcessorSystemUsage().
+      kernel32/tests: Remove extraneous check.
+      winex11.drv: Simplify condition in create_xcursor_cursor() based on the unsignedness of types.
+      msi: Simplify condition in TABLE_fetch_stream().
+      d3d9/tests: Simplify condition in test_vshader_input().
+      wined3d: Remove four noop checks.
+      winspool: Adjust the typo of a loop variable in test_EnumForms().
+      ole32: Remove one noop check in CoWaitForMultipleHandles().
+      wined3d: Simplify three checks based on the unsignedness of variables.
+      qcap: Complete initializers for g_cTemplates[].
+      msi: Remove an extraneous safety check and simplify deformat_string().
+      wined3d: Removed dead FIXME checks.
+      ws2_32: Remove two noop checks.
+      msi: Remove an extraneous safety check and simplify generate_error_string().
+      d3d8: Fix type of loop variable.
+      d3d9: Fix type of loop variable.
+      msi: Adjust the types of loop variables.
+      user32: Factor in EDIT_WM_EraseBkGnd().
+      gdi32: Tighten range checking in PlayEnhMetaFileRecord() and remove four useless checks.
+      msi: Complete initializers.
+
+H. Verbeet (6):
+      wined3d: Call ActivateContext regardless of WINED3DCREATE_MULTITHREADED.
+      wined3d: Call SetGlTextureDesc() from BindTexture() rather than from PreLoad().
+      wined3d: Move binding the texture and dirtifying the sampler to its own function from surface_download_data().
+      wined3d: Bind the surface texture in LoadLocation().
+      wined3d: SFLAG_INTEXTURE is the same as SFLAG_INDRAWABLE for offscreen render targets when ORM_FBO is used.
+      wined3d: Properly handle the surface location in stretch_rect_fbo().
+
+Hans Leidekker (15):
+      gdi32: Add a stub implementation for RemoveFontMemResourceEx.
+      msvcrt: Fix spec file entries for the execv functions.
+      wininet: Fix handling of host and referrer headers in HttpOpenRequest.
+      kernel32: Fix two test failures on Win98 due to missing GetTempPathW.
+      kernel32: Add Surinam Dutch and Belgian Dutch translations of language group names.
+      tools/wine.desktop: Add Dutch translation.
+      msvcrt: Implement _wsystem and forward system to it. Respect COMSPEC environment variable.
+      msvcrt: Implement _wpopen and forward _popen to it.
+      msvcrt: Rewrite _execl/_spawnl functions as wrappers around wide character implementations.
+      msvcrt: Implement _execl{e, pe}.
+      msvcrt: Rewrite _spawnve as a wrapper.
+      msvcrt: Implement _wexecl{, e, p, pe}.
+      msvcrt: Implement _wspawnl{, e, p, pe}.
+      msvcrt: Implement _wexecv{, e, p, pe}.
+      msvcrt: Correct search strategy for the exec/spawn functions.
+
+Jacek Caban (42):
+      urlmon: Move setting protocol_sink to separated function.
+      urlmon: More ReportProgress implementation.
+      urlmon: Release protocol sink in Terminate.
       urlmon: Added more binding tests.
-      urlmon: Fixed BindToObject tests.
-      mshtml: Use IBindCtx passed to Load in BindToStorage call.
-      mshtml: Added AboutProtocolInfo::QueryInfo implementation.
-      mshtml: Added ResProtocolInfo::QueryInfo implementation.
-      mshtml: Added QueryInfo tests.
-      urlmon: Added CoInternetQueryInfo implementation.
-      urlmon: Added CoInternetQueryInfo tests.
-      urlmon: RegisterNameSpace clean up.
-      urlmon: Added [Un]RegisterMimeFilter implementation.
-      urlmon: Added mime filters tests.
-      urlmon: Use heap_alloc_zero to allocate BindProtocol.
-      urlmon: Rename BindProtocol's IInternetProtocolSink methods.
+      urlmon: Use BindProtocol in Binding object.
+      urlmon.idl: Added missing MONIKERPROPERTY variables.
+      urlmon: Added ibind argument handling in CreateAsyncBindCtx.
+      urlmon: Make start_binding more generic.
+      urlmon: Better implementation of bind stopping.
+      urlmon: Better error handling.
+      urlmon: Binding_Create clean up.
+      urlmon: Added "CBinding Context" bind option support.
+      urlmon: Call AddRef in EnumFORMATETC::QueryInterface.
+      urlmon: Added BindToObject implementation.
+      urlmon: Added more tests.
+      ole32: Fixed parameter checking and improved debug traces in IBindCtx::QueryInterface.
+      mshtml: Added PutProperty implementation.
+      shdocvw: Added missing OnObjectAvailable function.
+      shdocvw: Store DocHost in BindStatusCallback.
+      shdocvw: Return S_OK in OnStartBinding.
+      shdocvw: Return correct variables in GetBindInfo.
+      shdocvw: Always create BindStatusCallback object.
+      shdocvw: Added OnObjectAvailable implementation.
+      shdocvw: Use OnObjectAvailable in http_load_hack.
+      shdocvw: Added OnProgress implementation.
+      shdocvw: Added OnStopBinding implementation and use it in http_load_hack.
+      shdocvw.5: Move on_before_navigate2 call to navigate_mon.
+      shdocvw: Use BindToObject to load document (except for http, https and ftp protocols).
+      shdocvw: Call try_application_url after BindToObject failure.
+      mshtml: Added Invoke(DISPID_READYSTATE) implementation.
+      mshtml: Fixed Read implementations.
+      mshtml: Don't assume that end_pos.node is text node in range_to_string.
+      shdocvw: Fixed ref count leak.
+      shdocvw: Set IE's IVer and Build registries.
+      mshtml: Don't crash in before_async_open if there is no client site.
+      mshtml: Handle fClearDirty flag in IPersistStreamInit::Save.
+      mshtml: Move nsChannel's content type initialization to async_open_doc_uri.
+      mshtml: Update focus information in WM_RESETFOCUS_HACK.
+      mshtml: Fixed hr element handling in range object.
+      mshtml: Added more range tests.
+      mshtml: Use QueryService to get IHttpNegotiate in get_post_data_stream.
+      mshtml: Disable some default Gecko warnings.
 
-James Hawkins (23):
-      msi: Release the record when loading the hash data.
-      msi: Add more tests for MsiOpenPackage.
-      msi: Validate the parameters of MsiOpenPackage.
-      msi: If the package doesn't exist, return ERROR_FILE_NOT_FOUND.
-      msi: Verify that the PID_PAGECOUNT and PID_REVNUMBER summary info properties exist.
-      msi: Simplify ExpandAnyPath.
-      msi: Add tests for MsiEnumClients.
-      msi: Validate the parameters of MsiEnumClients.
-      msi: Check the user component key for the clients.
-      msi: Also check the local system component key for the clients.
-      msi: Return ERROR_UNKNOWN_COMPONENT if no products exist.
-      msi: Return ERROR_INVALID_PARAMETER if the product list is empty and index is not zero.
-      msi: The line control has a height of exactly 2 device units.
-      msi: Set the text color after calling the window proc.
-      msi: Test sorting a table using a column that is not selected.
-      msi: Sort each table of the join separately.
-      msi: Free the ordering information.
-      msi: Allow NULL parameters to be passed to the local MsiSetProperty.
-      msi: Initialize a default COM apartment for custom actions.
-      msi: The BS_GROUPBOX style should only be used if the HasBorder attribute is set.
-      msi: Fix deleting temporary rows, with tests.
-      msi: Allow the not-equal operator in WHERE query string comparisons.
-      msi: Allow whitespace after the property name when setting a property in the dialog.
+James Hawkins (16):
+      msi: Only read an internal package if the file to install is compressed.
+      msi: WriteEnvironmentStrings should also write to REG_EXPAND_SZ strings.
+      msi: If the package is a URL, the OriginalDatabase property should be the URL and the DATABASE property should be the path to the local temporary package.
+      msi: Factor out msi_set_sourcedir_props.
+      msi: OriginalDatabase is the fully-expanded path to the original package if the package is local and installed from the command line.
+      msi: SourceDir is formed from the path of OriginalDatabase.
+      msi: OriginalDatabase can be a URL so check for a forward slash too.
+      msi: Directly download mi->source now that SourceDir points to the URL.
+      msi: Check the local package for existence when resolving the package source.
+      msi: Copy the temporary package when storing the installer.
+      msi: Remove an erroneous table.
+      msi: Pad the month and day to two digits.
+      msi: Create parent directories when duplicating files if they don't exist, with tests.
+      msi: Handle markers in the WHERE section of an UPDATE query, with tests.
+      msi: Test committing a table with a removed row.
+      msi: Actually delete the row data instead of blanking it out.
 
-Jeremy White (11):
-      wintab32: Store and use the physical device id to match device to cursor.
-      wintab32: Do not offset the physical device id by the cursor number.
-      wintab32: Add constants for cursor types and use them.
-      wintab32: Order the cursor array by the standard Wacom promulgates.
-      wintab32: Add additional device tracing.
-      wintab32: Compute our physical device characteristics based on the first tablet device that looks like a stylus.
-      wintab32: Correctly handle devices with a device id of 0.
-      wintab32: Don't return information for non existent cursors.
-      wintab32: Implement the ability to return the number of devices and cursors.
-      wintab32: Capture the number of buttons earlier, allowing our button maps to be filled in.
-      wintab32: Fix the W->A translation for CSR_NAME and CSR_BTNNAMES.
+Jeremy White (4):
+      wintab32: Add modest trace information for tablets.
+      wintab32: Remove the unused and clearly broken FindOpenContext function.
+      wintab32: Add logic to detect specific tablet cursor types, use it to discard non tablet X devices.
+      wintab32: If we could not find a stylus sort of device, we haven't found a tablet.
 
-Johannes Stezenbach (3):
-      wininet: Implement support for INTERNET_OPTION_VERSION in InternetQueryOptionW.
-      wininet: Fix error return code in FindFirstUrlCacheEntryW() stub.
-      ws2_32: Set *res = NULL for error return from WS_getaddrinfo().
+Jonathan Ernst (4):
+      server: New French man page for wineserver.
+      crypt32: Updated French translation.
+      server: Updated French man page.
+      loader: New French man page for wine.
 
-Kirill K. Smirnov (7):
-      winhelp: Remember last added page.
-      winhelp: Avoid any keywords comparision during lookup, store pointer to listbox ITEMDATA instead.
-      server: Properly notify renderer while activating another screen buffer.
-      ws2_32: Fix flags conversion in getnameinfo() function.
-      kernel32: ReadConsoleW should wait for at least one character before returning.
-      winhelp: When we reuse window structure, old brush should not be reused.
-      kernel32: Invalidate local copy of console input event handle while reallocating console.
+Kirill K. Smirnov (2):
+      kernel32: Convert newborn wineserver handle to kernel32 console handle.
+      winhelp: Fix index to handle offset value = 0 correclty.
 
-Lei Zhang (2):
-      quartz: Move aggregation tests into separate file.
-      quartz: Make filtergraph aggregatable.
+Lance Jackson (1):
+      cmd: Fix some unclosed file and registry handles.
+
+Lei Zhang (10):
+      gdiplus: Initialize a variable in a test.
+      gdiplus: Add GdipCreatePen2 and test cases.
+      msxml: Fix compilation on machines without libxml2.
+      ntoskrnl.exe: Additional stub implementations.
+      mapi32: Initialize several string buffers.
+      shlwapi: Additional UrlEscapeA tests.
+      shlwapi: Check an argument to UrlEscapeA.
+      shlwapi: Check more arguments to UrlEscapeA.
+      shlwapi: Fix a return value in UrlEscapeA.
+      mapi32: Fix UrlEscapeA usage in MAPISendMail.
 
 Lionel Debroux (2):
-      winedevice: Fix memory leak (found by Smatch).
-      winspool: Fix memory leak (found by Smatch).
+      msi: Correctly handle return value of msi_realloc.
+      dinput: Improve TRACEs and WARNs.
 
-Maarten Lankhorst (3):
-      riched20: Implement ECO/EM SELECTIONBAR.
-      riched20: Fix bugs in EM_SETOPTIONS.
-      winealsa: Add special case for microphone source in mixer.
+Louis Lenders (2):
+      user32: Add stub for GetLayeredWindowAttributes.
+      shdocvw: Change return value for PersistMemory_Load.
 
-Marcus Meissner (2):
-      msi: Fixed buffer overflow in number parsing.
-      d3d9: Initialize pVertexBuffer.
+Marcus Meissner (5):
+      wininet: Check return value of InternetCrackUrl when checking referrer host.
+      winex11: Set last error on enumerating display settings.
+      msvcrt: Remove strange condition which might lead to crash.
+      server: Remove superflous check (value->data is dereferenced before check).
+      msxml3: Move potential NULL ptr derefs into their if () case.
 
 Michael Jung (1):
-      ole32: Avoid leaving a critical section twice.
+      imm32: Added some unit test cases.
 
-Michael Stefaniuc (3):
-      rpcrt4: Add missing LeaveCriticalSection. Found by Smatch.
-      secur32/tests: InitFunctionPtrs() needs to use the global crypt32dll variable.
-      gdi32: There is no need to cast NULL to a function pointer.
+Michael Stefaniuc (5):
+      wininet: Fix typo in comparison with NULL. Found by Smatch.
+      user32: Remove unneeded casts.
+      janitorial: Remove superfluous backslashes at end of lines.
+      netapi32: Remove two unused global variables.
+      kernel32: Add missing HeapFree(). Found by Smatch.
 
-Mike McCormack (1):
-      shell32: Implement "My Network Places" shell folder.
+Paul Chitescu (1):
+      advapi32: Accept a NULL lpServiceStatus in ControlService.
 
-Peter Beutner (1):
-      d3d9: Add stub for Direct3DShaderValidatorCreate9().
+Paul Romanyszyn (1):
+      comdlg32: Filter change should not update filename.
+
+Paul Vriens (4):
+      advapi32/tests: Don't crash on win98.
+      kernel32/tests: Skip not implemented functions.
+      kernel32/tests: Skip not implemented functions.
+      kernel32/tests: Skip not implemented functions.
+
+Peter Dons Tychsen (4):
+      oleaut32: Add missing types to serialize/deserialize.
+      ddraw: Add missing pitch in callback from EnumDisplayModes().
+      dinput: Silence incorrect warning and move it to a valid place.
+      devenum: Fix the implementation of IEnumMoniker::Skip(), to match the MSDN specs.
 
 Peter Oberndorfer (2):
-      winex11: Remove unused SWAP_INT macro.
-      gdi32: Fix a comment typo.
+      user32: Remove unused lpGrayMask array.
+      dwmapi: Add stub implementation for DwmSetWindowAttribute and DwmUnregisterThumbnail.
 
-Reece H. Dunn (2):
-      include: Added the new Vista messages.
-      user32: Added the new Vista messages to spy.
+Reece H. Dunn (1):
+      gdiplus: Added the ProfileNotFound status code.
 
 Rico Schüller (3):
-      comdlg32: Fix typo.
-      kernel32: Fix typo.
-      wined3d: Fix some typos.
+      cabinet: Fix memory leak (found by Smatch).
+      mshtml: Fix memory leak (found by Smatch).
+      msi: Fix memory leaks (found by Smatch).
 
-Rob Shearman (50):
-      widl: Clear padding in the buffer due to alignment.
-      widl: Return types shouldn't be freed.
-      widl: Only base types or reference pointers to base types don't need to be freed.
-      include: Add definitions for RPC_FC_SSTRING and RPC_FC_C_SSTRING.
-      rpcrt4: Clear padding inserted into the buffer during marshalling because of alignment.
-      rpcrt4: Add a FIXME for RPC_FC_P_ALLOCALLNODES in PointerUnmarshall.
-      rpcrt4: Fix NdrConformantStringUnmarshall to use buffer memory if possible.
-      rpcrt4: Return an error from rpcrt4_conn_tcp_read if recv returns 0.
-      rpcrt4: Make a server association when a bind packet is received in the server.
-      rpcrt4: Move association code into a separate file.
-      hlink: Fix some memory leaks in the tests.
-      include: Add more NDR types and function declarations to rpcndr.h.
-      include: Add more types and function declarations to the rpcasync.h header file.
-      rpcrt4: Don't copy memory from the buffer in NdrConformantStringUnmarshall if we just pointed the memory pointer into the buffer.
-      rpcrt4: Add a stub for I_RpcGetCurrentCallHandle.
-      include: Add some context handle defines to rpcdcep.h.
-      mscoree: Add a stub for GetVersionFromProcess.
-      rpcrt4: Implement I_RpcGetCurrentCallHandle.
-      widl: The detection of types is highly dependent on the ordering of the various type detection functions.
-      widl: Fix the length used when clearing alignment space in generated files.
-      rpcrt4: Fix the ALIGN_POINTER_CLEAR macro.
-      rpcrt4: Memory should only be cleared in ComplexUnmarshall, not in ComplexMarshall.
-      rpcrt4: Initialise memory passed into RPCs in the server test.
-      rpcrt4: Don't use BufferEnd in RpcStream_Write.
-      rpcrt4: Fix NdrConformantStringUnmarshall to always increment the buffer during unmarshalling.
-      ole32: Fix RPC_GetLocalClassObject to wait for 30 seconds, even if messages arrive while we are waiting.
-      rpcrt4: Print an error if stub buffer pointer is passed into safe_copy_from_buffer.
-      rpcrt4: Fix a memory leak from the get_filename call in the server tests.
-      kernel32: Add a test for calling VirtualAlloc on a view of a SEC_RESERVE file mapping.
-      widl: Tweak the rules for when to call pfnFree for arrays.
-      rpcrt4: Set pStubMsg->BufferMark in NdrConformantVaryingArrayUnmarshall and NdrVaryingArrayUnmarshall.
-      widl: Fix the generation of temporary variables for declared arrays.
-      widl: Fix pointer detection in structures and arrays.
-      include: Remove semi-colons from the end of cpp_quote statements as MIDL likes them.
-      rpcrt4: Move low-level NDR context handle functions to a separate file.
-      rpcrt4: Implement higher-level NDR server context handle functions.
-      rpcrt4: Implement low-level context handle support.
-      rpcrt4: Add tests for low-level context handle functions.
-      widl: Add support for generating code for out-only context handles by calling NdrContextHandleInitialize.
-      rpcss: Use context handles to automatically free running object table entries if the client process quits without calling IrotRevoke.
-      hlink: Fix memory leak by freeing extension services This->headers in the release function.
-      msi: Fix several memory leaks after using IEnumSTATSTG_Next.
-      oleaut32: Fix copy and paste error in VARIANT_UserUnmarshall with VT_UNKNOWN test.
-      quartz: Fix memory leak in FilterGraphInner_Release.
-      rpcrt4: Add tests for varying and conformant varying arrays.
-      rpcrt4: Re-use existing memory for embedded pointers in NdrConformantVaryingArrayUnmarshall.
-      rpcrt4: Re-use existing memory for embedded pointers in NdrVaryingArrayUnmarshall.
-      rpcss: Zero the memory of several variables before writing them to the pipe to silence Valgrind warnings.
-      explorer: Fix memory leak when one or more properties are not present on a hal device.
-      server: Initialise the apc_call_t union in async_set_result to all zero to avoid a Valgrind warning.
+Rob Shearman (70):
+      rpcss: Initialise some out-only parameters that aren't initialised by the generated RPC code.
+      rpcrt4: Implement non-conformant string functions.
+      rpcrt4: Add some tests for non-conformant strings.
+      rpcrt4: Implement NdrConformantStringMemorySize.
+      widl: Check that the buffer has enough space before unmarshalling base types in generated code.
+      include: Add defines for more message flags in rpcdcep.h.
+      rpcrt4: Keep a track of server context handles allocated during processing of a request.
+      rpcrt4: Fix a case of destroying a context handle without first releasing the lock.
+      rpcrt4: Fix the MIDL_STUB_MESSAGE fields set by NdrServerInitializeNew.
+      rpcrt4: Add tests for NdrServerInitializeNew.
+      rpcrt4: Make some variables in the tests static.
+      rpcrt4: Fix NdrGetBuffer to set the correct fields in the MIDL_STUB_MESSAGE structure.
+      ntdll: Add some tests for NtQueryValueKey.
+      ntdll: Set the DataLength field of the information field in NtQueryValueKey to how much data should be returned, not what was actually returned.
+      user32: Add a stub implementation of RegisterServicesProcess.
+      ntdll: Implement RtlRegisterWait, RtlDeregisterWait and RtlDeregisterWaitEx.
+      kernel32: Implement RegisterWaitForSingleObject and UnregisterWait.
+      kernel32: Add tests for RegisterWaitForSingleObject and UnregisterWait.
+      include: ws2tcpip.h should include winsock2.h.
+      rpcrt4: Update todos.
+      widl: Make the offset of conformant string types point to the start of the conformant string format chars, not the pointer type.
+      ole32: Determine the destination for the COM call and initialise the necessary parameters in ClientRpcChannelBuffer_GetBuffer instead of ClientRpcChannelBuffer_SendReceive.
+      svchost: Add a FIXME for an undocumented function (SvchostPushServiceGlobals) that some native services expect to be called by native svchost.
+      kernel32: Implement RegisterWaitForSingleObjectEx.
+      ole32: Clear the RPC_MESSAGE structure before using it.
+      rpcrt4: Add some tests for NdrGetBuffer and NdrFreeBuffer.
+      rpcrt4: Don't set Buffer to NULL in I_RpcFreeBuffer.
+      ole32: get_moniker_for_progid_display_name should fallback to using IClassFactory to get IParseDisplayName if getting it directly fails.
+      ole32: Fix a typo in the class moniker tests.
+      include: Add defines for context handle flags to rpcfc.h.
+      widl: Output calls for the new versions of the marshalling and unmarshalling routines for server context handles.
+      rpcrt4: Pass the interface identifier to the lower-level context handle routines for context handles with the strict flag set.
+      widl: Add support for strict context handles.
+      rpcrt4: Print fixme's if the serialize or no-serialize flags are set on a context handle being marshalled or unmarshalled.
+      include: Add the strict_context_handle flag to the Irot interface.
+      widl: Fix the conditions under which array freeing code is output.
+      include: I_RpcBindingInqTransportType and I_RpcMapWin32Status should be always defined.
+      rpcrt4: Implement I_RpcMapWin32Status.
+      ntdll: Add tests for the data and name returned by NtQueryValueKey.
+      ntdll: Fix the Data and Name returned by NtQueryValueKey for KeyValueFullInformation.
+      ntdll: Fix NtQueryValueKey for KeyValueBasicInformation.
+      widl: Fix context handle "cannot be null" detection.
+      widl: Use symbolic names for some of the context handle attributes.
+      ole32: Clear the RPC_FLAGS_VALID_BIT flag from the RPC_MESSAGE ProcNum when shortcutting the RPC runtime.
+      ole32: Shortcut the RPC runtime for allocation of the message when processing the COM call by just sending a message to a window in the process.
+      ole32: Fix a memory leak.
+      ole32: Fix memory leaks caused by not calling the channel hook function when extension_size is zero.
+      rpcrt4: Add tests for the RPC_MESSAGE members set by NdrClientInitializeNew.
+      rpcrt4: Set the ProcNum of RPC_MESSAGE in NdrClientInitializeNew to include RPC_VALID_FLAGS_BIT.
+      rpcrt4: ndr_stubless.h should include ndrtypes.h as it depends on types it defines.
+      rpcrt4: Add stubs for NdrCorrelationInitialize, NdrCorrelationPass and NdrCorrelationFree.
+      rpcrt4: Call NdrCorrelationInitialize and NdrCorrelationFree from NdrClientCall2 if new correlation descriptors have been specified.
+      rpcrt4: Add stubs for I_RpcAsyncSetHandle and I_RpcAsyncAbortCall.
+      rpcrt4: Add stubs for asynchronous functions.
+      rpcrt4: Add tests for some async RPC functions.
+      rpcrt4: Implement RpcAsyncInitializeHandle.
+      rpcrt4: Set ReservedForRuntime to NULL in NdrClientInitializeNew.
+      include: Add prototype for I_RpcNegotiateTransferSyntax.
+      rpcrt4: Set the fBufferValid flag in NdrProxyGetBuffer.
+      rpcrt4: Remove some unused includes.
+      rpcrt4: Bind to the server interface in I_RpcGetBuffer, not I_RpcSendReceive.
+      rpcrt4: Improve error handling in RPCRT4_io_thread and remove commented-out code.
+      rpcrt4: Use send on a socket instead of write as it's more portable.
+      rpcrt4: Implement NdrMapCommAndFaultStatus.
+      rpcrt4: Fix a leak of msg in RPCRT4_io_thread on the error paths.
+      ole32: Fix some uses of SEEK_SET when STREAM_SEEK_SET should have been used instead.
+      rpcrt4: Fix memory leak in NdrFullPointerXlatFree.
+      rpcrt4: Fix memory leaks in the ndr_marshall tests.
+      rpcrt4: Fix a memory leak in the cstub tests.
+      rpcrt4: Split RPCRT4_process_packet out into separate functions.
 
 Roderick Colenbrander (2):
-      wined3d: In case of GL_EXT_paletted_textures we use GL_COLOR_INDEX and don't need a GL_RED fixup.
-      wined3d: Only store the palette index in the alpha component when the primary render target uses P8.
+      wined3d: Use software palette conversion for non-texturing operations.
+      wined3d: Unify color conversion code.
 
-Roy Shea (2):
-      qmgr: Generate C file with local GUID definitions from bits.idl.
-      qmgr: AddRef, QueryInterface, and stub functions for queue manager interface.
+Stefan Dösinger (2):
+      wined3d: Detect geforce 7300 cards.
+      wined3d: Fix a pixelshader recompilation check.
 
-Stefan Dösinger (37):
-      winex11: Distinguish between bpp and depth.
-      winex11: Activate the depth-bpp difference.
-      d3d9: The refrast returns an error on invalid clear rects.
-      d3d9: D3DLOCK_DISCARD is not valid on managed textures.
-      d3d9: Do not set NONE MIN and MAG filters.
-      d3d9: Remove a few more incorrect D3DLOCK_DISCARDs.
-      d3d9: Add a note about a breakage in the refrast.
-      wined3d: Disable the SWAPEFFECT_DISCARD clear.
-      wined3d: Correct a pixel shader version comparison.
-      wined3d: Ignore tesselated and unused streams when comparing attribs.
-      wined3d: Filter out some shader compilation spam.
-      kernel32: Add a test for BindIoCompletionCallback.
-      wined3d: Implement D3DFMT_G16R16.
-      wined3d: Split up the render target -> render target blit.
-      wined3d: Implement blits from the active render target to swapchains.
-      wined3d: Emulate half float vertices if GL_NV_half_float is not there.
-      wined3d: Some improvements for SFLAG_CONVERTED checking.
-      wined3d: Implement texture -> swapchain blits with stretch_rect_fbo.
-      wined3d: Always dump the fbo state on errors.
-      wined3d: Store if half float conversion is needed in the decl.
-      wined3d: Fixed function vertex attribute types are flexible.
-      wined3d: Fix vertex buffers based on type, not semantic.
-      wined3d: Move the GL info structure into the adapter.
-      wined3d: Add a test for 16 bit floats.
-      wined3d: Implement half float vertex buffer conversion.
-      wined3d: Change the vertex buffer declaration's data format.
-      d3d9: Extend the fixed function vertex declaration test.
-      wined3d: Improve some traces.
-      wined3d: Add a test for POSITIONT vertex fixups.
-      wined3d: Vertex attributes are 4 byte aligned.
-      wined3d: Per stream offsets are 4 byte aligned.
-      wined3d: Implement and test vertex fixups with per stream offsets.
-      d3d9: Accept D3DDEVTYPE_REF devices in the vertex declaration test.
-      wined3d: Fix a problem in BltOverride.
-      wined3d: Get rid of the invymat.
-      wined3d: Combine two glScalef calls into one.
-      wined3d: Multiply the half pixel correction with .w.
+Tony Wasserka (1):
+      include: Add d3dx9core.h.
 
-Stefan Leichter (2):
-      gdiplus: Partly implement GdipCreateFromHDC2
-      kernel32: Silence a fixme in GetNativeSystemInfo.
-
-Vincent Hardy (1):
-      regedit: Window caption correction.
-
-Zhangrong Huang (2):
-      gdi32, winex11.drv: Correct default Chinese font name.
-      secur32: Fix possible crash while loading SSP providers from registry.
+Zach Goldberg (1):
+      Fix some typos.
 
 --
 Alexandre Julliard
diff --git a/ChangeLog b/ChangeLog
index fa8e26a..1aab49e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1665 @@
+2008-01-11  Andrey Turkin <andrey.turkin@gmail.com>
+
+	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/pe_module.c:
+	dbghelp: Implement ImageDirectoryEntryToDataEx.
+
+2008-01-10  Austin English <austinenglish@gmail.com>
+
+	* loader/wine.man.in:
+	loader: Add disabling dlls to wine man page.
+
+2008-01-11  Alexandre Julliard <julliard@winehq.org>
+
+	* loader/wine.fr.man.in, server/wineserver.fr.man.in:
+	Spelling fixes in French man pages.
+
+2008-01-10  Jonathan Ernst <jonathan@ernstfamily.ch>
+
+	* .gitignore, loader/Makefile.in, loader/wine.fr.man.in:
+	loader: New French man page for wine.
+
+	* server/wineserver.fr.man.in:
+	server: Updated French man page.
+
+2008-01-11  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/nsembed.c:
+	mshtml: Disable some default Gecko warnings.
+
+	* dlls/mshtml/persist.c:
+	mshtml: Use QueryService to get IHttpNegotiate in get_post_data_stream.
+
+2008-01-10  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/tests/dom.c:
+	mshtml: Added more range tests.
+
+	* dlls/mshtml/txtrange.c:
+	mshtml: Fixed hr element handling in range object.
+
+	* dlls/mshtml/nsembed.c:
+	mshtml: Update focus information in WM_RESETFOCUS_HACK.
+
+	* dlls/mshtml/navigate.c, dlls/mshtml/nsio.c:
+	mshtml: Move nsChannel's content type initialization to async_open_doc_uri.
+
+2008-01-11  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/rpcrt4/rpc_server.c:
+	rpcrt4: Split RPCRT4_process_packet out into separate functions.
+
+2008-01-11  Francois Gouget <fgouget@codeweavers.com>
+
+	* programs/winemenubuilder/winemenubuilder.c:
+	winemenubuilder: EnumResourceNamesW() returns false when we find the icon. So
+	fix the corresponding misfiring trace.
+
+	* dlls/shell32/shelllink.c:
+	shell32: A lot of lnk files have extra data blocks at the end, although they
+	don't seem to matter much. So drop the corresponding ERR() to a WARN().
+
+2008-01-11  Francois Gouget <fgouget@free.fr>
+
+	* dlls/msi/tests/install.c:
+	msi/tests: Tweaked so it does not look like things are misspelled.
+
+2008-01-11  Francois Gouget <fgouget@codeweavers.com>
+
+	* dlls/kernel32/tests/environ.c:
+	kernel32/tests: Despite the MSDN claims, GetComputerName() does not return
+	the required buffer size... except on Vista. So update the tests accordingly.
+
+	* dlls/kernel32/environ.c, dlls/kernel32/tests/environ.c:
+	kernel32/tests: Add more ExpandEnvironmentStringsA() tests.
+	Document the observed ExpandEnvironmentStrings() behavior.
+
+	* dlls/advapi32/registry.c:
+	advapi32: RegGetValueW() must return the required buffer size in bytes,
+	not WCHARs.
+
+	* dlls/advapi32/registry.c, dlls/advapi32/tests/registry.c:
+	advapi32: RegGetValue() should not return an error when expanding a string
+	and given a NULL buffer and a zero size.
+	Adjust the tests to cover this case for REG_EXPAND_SZ registry
+	values. Improve the documentation a bit.
+
+2008-01-11  Marcus Meissner <marcus@jet.franken.de>
+
+	* dlls/msxml3/tests/domdoc.c:
+	msxml3: Move potential NULL ptr derefs into their if () case.
+
+2008-01-11  Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
+
+	* dlls/msxml3/tests/domdoc.c:
+	msxml3: Fix memory leak in test.
+
+2008-01-10  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/mscms/icc.c:
+	mscms: Remove unneeded casts.
+
+	* dlls/mapi32/prop.c:
+	mapi32: Remove unneeded cast.
+
+2008-01-10  Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
+
+	* dlls/user32/sysparams.c, dlls/user32/user32.spec:
+	user32: Add SetProcessDPIAware stub.
+
+2008-01-10  Aric Stewart <aric@codeweavers.com>
+
+	* fonts/.gitignore, fonts/Makefile.in, fonts/small_fonts_jp.sfd:
+	fonts: Add Japanese small font.
+
+2008-01-10  Louis Lenders <xerox_xerox2000@yahoo.co.uk>
+
+	* dlls/shdocvw/persist.c:
+	shdocvw: Change return value for PersistMemory_Load.
+
+2008-01-11  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Simplify GetEnumStructs.
+
+2008-01-10  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Fix a GdiFont leak.
+
+2008-01-10  Andrey Turkin <andrey.turkin@gmail.com>
+
+	* programs/wineboot/wineboot.c:
+	wineboot: Fix installation of SFP protected files.
+
+2008-01-10  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/editor.c, dlls/mshtml/mshtml_private.h,
+	  dlls/mshtml/persist.c:
+	mshtml: Handle fClearDirty flag in IPersistStreamInit::Save.
+
+	* dlls/mshtml/nsio.c:
+	mshtml: Don't crash in before_async_open if there is no client site.
+
+2008-01-10  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/msi/table.c:
+	msi: Complete initializers.
+
+2008-01-10  Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
+
+	* dlls/mscoree/mscoree.spec, dlls/mscoree/mscoree_main.c:
+	mscoree: Add stubs for DllCanUnloadNow and DllGetClassObject.
+
+2008-01-09  Austin English <austinenglish@gmail.com>
+
+	* dlls/winedos/dma.c, dlls/winedos/dosmem.c, dlls/winedos/int10.c,
+	  dlls/winedos/soundblaster.c, dlls/winedos/vxd.c,
+	  dlls/wineesd.drv/audio.c, dlls/winejoystick.drv/joystick.c:
+	Spelling fixes.
+
+2008-01-10  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/kernel32/tests/time.c:
+	kernel32/tests: Skip not implemented functions.
+
+	* dlls/kernel32/tests/path.c:
+	kernel32/tests: Skip not implemented functions.
+
+	* dlls/kernel32/tests/format_msg.c:
+	kernel32/tests: Skip not implemented functions.
+
+2008-01-10  Louis Lenders <xerox_xerox2000@yahoo.co.uk>
+
+	* dlls/user32/user32.spec, dlls/user32/win.c:
+	user32: Add stub for GetLayeredWindowAttributes.
+
+2008-01-09  Marcus Meissner <marcus@jet.franken.de>
+
+	* server/registry.c:
+	server: Remove superflous check (value->data is dereferenced before check).
+
+2008-01-10  Marcus Meissner <marcus@jet.franken.de>
+
+	* dlls/msvcrt/process.c:
+	msvcrt: Remove strange condition which might lead to crash.
+
+2008-01-09  Paul Chitescu <paulc@voip.null.ro>
+
+	* dlls/advapi32/service.c:
+	advapi32: Accept a NULL lpServiceStatus in ControlService.
+
+2008-01-10  Paul Romanyszyn <pgr@arcelectronicsinc.com>
+
+	* dlls/comdlg32/filedlg31.c:
+	comdlg32: Filter change should not update filename.
+
+2008-01-09  Alexander Nicolaysen Sørnes <alex@thehandofagony.com>
+
+	* programs/cmd/wcmdmain.c:
+	cmd: Seed the random number generator.
+
+2008-01-09  Lei Zhang <thestig@google.com>
+
+	* dlls/mapi32/sendmail.c:
+	mapi32: Fix UrlEscapeA usage in MAPISendMail.
+
+	* dlls/shlwapi/tests/url.c, dlls/shlwapi/url.c:
+	shlwapi: Fix a return value in UrlEscapeA.
+
+	* dlls/shlwapi/tests/url.c, dlls/shlwapi/url.c:
+	shlwapi: Check more arguments to UrlEscapeA.
+
+	* dlls/shlwapi/tests/url.c, dlls/shlwapi/url.c:
+	shlwapi: Check an argument to UrlEscapeA.
+
+	* dlls/shlwapi/tests/url.c:
+	shlwapi: Additional UrlEscapeA tests.
+
+	* dlls/mapi32/sendmail.c:
+	mapi32: Initialize several string buffers.
+
+2008-01-09  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Fix the regression caused by the scaling font metrics patch.
+
+2008-01-09  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/mountmgr.sys/mountmgr.c:
+	mountmgr.sys: Implemented IOCTL_DISK_GET_DRIVE_GEOMETRY and
+	IOCTL_STORAGE_GET_DEVICE_NUMBER.
+
+2008-01-09  Marcus Meissner <marcus@jet.franken.de>
+
+	* dlls/user32/tests/sysparams.c, dlls/winex11.drv/settings.c:
+	winex11: Set last error on enumerating display settings.
+
+2008-01-06  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/gdi32/enhmetafile.c:
+	gdi32: Tighten range checking in PlayEnhMetaFileRecord() and remove four
+	useless checks.
+
+2008-01-07  Divan Burger <divan.burger@gmail.com>
+
+	* dlls/comdlg32/colordlg.c:
+	comdlg32: Modernize the look of the colour boxes in the colour dialog.
+
+	* dlls/comdlg32/colordlg.c:
+	comdlg32: Modernize the look of the selected colour box in the colour dialog.
+
+	* dlls/comdlg32/colordlg.c:
+	comdlg32: Modernize the look of the colour graph's cross in the colour dialog.
+
+	* dlls/comdlg32/colordlg.c:
+	comdlg32: Modernize the look of the luminance bar in the colour dialog.
+
+	* dlls/comdlg32/colordlg.c:
+	comdlg32: Clamp hue and saturation when clicking in colour graph in colour
+	dialog.
+
+	* dlls/comdlg32/colordlg.c:
+	comdlg32: Fix bug where the colour graph's cross is not painted.
+
+2008-01-08  Tony Wasserka <tony.wasserka@freenet.de>
+
+	* include/Makefile.in, include/d3dx9.h, include/d3dx9core.h:
+	include: Add d3dx9core.h.
+
+2008-01-09  Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
+
+	* dlls/msxml3/domdoc.c:
+	msxml3: Suppress IID_IRunnableObject FIXME since its not supported.
+
+2008-01-08  Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
+
+	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
+	msxml3: get_attributes not supported for Attribute, CData, Comment, Doc,
+	Doc Frag, Entity and Text Nodes.
+
+	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
+	msxml3: previousSibling not supported for Attribute, Document and Document
+	Fragment Nodes.
+
+	* dlls/msxml3/domdoc.c, dlls/msxml3/tests/domdoc.c:
+	msxml3: createProcessingInstruction: Check arguments are valid.
+
+	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
+	msxml3: lastChild not supported for CDATASection, Comment, PI and Text Nodes.
+
+	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
+	msxml3: nextSibling not supported for Attribute, Document and Document
+	Fragment Nodes.
+
+2008-01-09  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/rpcrt4/tests/cstub.c:
+	rpcrt4: Fix a memory leak in the cstub tests.
+
+	* dlls/rpcrt4/tests/ndr_marshall.c:
+	rpcrt4: Fix memory leaks in the ndr_marshall tests.
+
+	* dlls/rpcrt4/ndr_fullpointer.c:
+	rpcrt4: Fix memory leak in NdrFullPointerXlatFree.
+	First of all, the code was freeing the wrong pointer (i.e. the pointer
+	supplied by the caller of one of the NdrFullPointer* functions, not the
+	PFULL_PTR_TO_REFID_ELEMENT. Second, the code wasn't following the Next
+	link to the next entry in the list.
+
+2008-01-09  James Hawkins <truiken@gmail.com>
+
+	* dlls/msi/delete.c, dlls/msi/table.c, dlls/msi/tests/db.c,
+	  dlls/msi/where.c:
+	msi: Actually delete the row data instead of blanking it out.
+
+2008-01-08  James Hawkins <truiken@gmail.com>
+
+	* dlls/msi/tests/db.c:
+	msi: Test committing a table with a removed row.
+
+	* dlls/msi/tests/db.c, dlls/msi/update.c:
+	msi: Handle markers in the WHERE section of an UPDATE query, with tests.
+
+2008-01-08  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/kernel32/heap.c, dlls/kernel32/toolhelp.c:
+	kernel32: Remove unneeded casts.
+
+2008-01-08  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ole32/oleproxy.c, dlls/ole32/rpc.c:
+	ole32: Fix some uses of SEEK_SET when STREAM_SEEK_SET should have been used
+	instead.
+
+	* dlls/rpcrt4/rpc_server.c:
+	rpcrt4: Fix a leak of msg in RPCRT4_io_thread on the error paths.
+
+	* dlls/rpcrt4/ndr_clientserver.c, dlls/rpcrt4/tests/ndr_marshall.c:
+	rpcrt4: Implement NdrMapCommAndFaultStatus.
+	Add tests for this function.
+
+	* dlls/rpcrt4/rpc_transport.c:
+	rpcrt4: Use send on a socket instead of write as it's more portable.
+
+2008-01-08  Lei Zhang <thestig@google.com>
+
+	* dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec:
+	ntoskrnl.exe: Additional stub implementations.
+
+2008-01-08  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/gdi32/freetype.c, dlls/gdi32/tests/font.c:
+	gdi32: Add support for scaling font metrics.
+
+2008-01-01  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/pixelshader.c:
+	wined3d: Fix a pixelshader recompilation check.
+
+	* dlls/wined3d/directx.c, include/wine/wined3d_gl.h:
+	wined3d: Detect geforce 7300 cards.
+
+2008-01-08  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/rpcrt4/rpc_server.c:
+	rpcrt4: Improve error handling in RPCRT4_io_thread and remove commented-out code.
+
+	* dlls/rpcrt4/rpc_assoc.c, dlls/rpcrt4/rpc_message.c,
+	  dlls/rpcrt4/rpc_server.c:
+	rpcrt4: Bind to the server interface in I_RpcGetBuffer, not I_RpcSendReceive.
+	The actual sending of the request is still done in I_RpcSendReceive though.
+	Disallow the server from calling I_RpcSend and I_RpcReceive to allow
+	simplification of the code. The releasing of the connection is now done
+	in I_RpcFreeBuffer.
+	Implement I_RpcNegotiateTransferSyntax.
+
+	* dlls/rpcrt4/ndr_clientserver.c:
+	rpcrt4: Remove some unused includes.
+
+	* dlls/rpcrt4/cproxy.c:
+	rpcrt4: Set the fBufferValid flag in NdrProxyGetBuffer.
+	Only call IRpcChannelBuffer_FreeBuffer in NdrProxyFreeBuffer if
+	fBufferValid is set.
+
+	* include/rpcdcep.h:
+	include: Add prototype for I_RpcNegotiateTransferSyntax.
+
+2008-01-07  Jonathan Ernst <jonathan@ernstfamily.ch>
+
+	* dlls/crypt32/crypt32_Fr.rc:
+	crypt32: Updated French translation.
+
+2008-01-06  Alexander Nicolaysen Sørnes <alex@thehandofagony.com>
+
+	* dlls/crypt32/crypt32_En.rc, dlls/crypt32/crypt32_No.rc,
+	  dlls/crypt32/cryptres.h, dlls/crypt32/oid.c:
+	crypt32: Implement CryptFindLocalizedName.
+
+2008-01-07  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/user32/edit.c:
+	user32: Factor in EDIT_WM_EraseBkGnd().
+
+2008-01-07  Hans Leidekker <hans@it.vu.nl>
+
+	* dlls/msvcrt/msvcrt.h, dlls/msvcrt/process.c:
+	msvcrt: Correct search strategy for the exec/spawn functions.
+
+	* dlls/msvcrt/msvcrt.h, dlls/msvcrt/msvcrt.spec, dlls/msvcrt/process.c:
+	msvcrt: Implement _wexecv{, e, p, pe}.
+
+	* dlls/msvcrt/msvcrt.spec, dlls/msvcrt/process.c:
+	msvcrt: Implement _wspawnl{, e, p, pe}.
+
+	* dlls/msvcrt/msvcrt.spec, dlls/msvcrt/process.c:
+	msvcrt: Implement _wexecl{, e, p, pe}.
+
+	* dlls/msvcrt/process.c:
+	msvcrt: Rewrite _spawnve as a wrapper.
+
+	* dlls/msvcrt/process.c:
+	msvcrt: Implement _execl{e, pe}.
+
+	* dlls/msvcrt/process.c:
+	msvcrt: Rewrite _execl/_spawnl functions as wrappers around wide character
+	implementations.
+
+	* dlls/msvcrt/msvcrt.h, dlls/msvcrt/process.c:
+	msvcrt: Implement _wpopen and forward _popen to it.
+
+	* dlls/msvcrt/data.c, dlls/msvcrt/msvcrt.h, dlls/msvcrt/msvcrt.spec,
+	  dlls/msvcrt/process.c:
+	msvcrt: Implement _wsystem and forward system to it. Respect COMSPEC environment
+	variable.
+
+2008-01-07  Andrey Esin <andrey@esin.name>
+
+	* dlls/shell32/shell32_Ru.rc:
+	shell32: Fixed typo.
+
+2008-01-08  Andrey Esin <andrey@esin.name>
+
+	* programs/wordpad/Ru.rc:
+	wordpad: Russian translation.
+
+2008-01-08  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/advapi32/tests/security.c:
+	advapi32/tests: Don't crash on win98.
+
+2008-01-08  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/comdlg32/filedlg31.c:
+	comdlg32: If lpstrFile points to a valid string use it as a default value for
+	edit control.
+
+	* dlls/gdi32/tests/font.c:
+	gdi32: Add more tests for bitmap font metrics scaling.
+
+	* dlls/msvcrt/data.c, dlls/msvcrt/environ.c, dlls/msvcrt/msvcrt.h,
+	  dlls/msvcrt/msvcrt.spec:
+	msvcrt: Rename _environ to avoid a conflict on Solaris.
+
+2008-01-08  Alexander Nicolaysen Sørnes <alex@thehandofagony.com>
+
+	* programs/wordpad/print.c:
+	wordpad: Draw margin lines in print preview.
+
+2008-01-08  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/shdocvw/shdocvw.inf:
+	shdocvw: Set IE's IVer and Build registries.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Fixed ref count leak.
+
+2008-01-08  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/itss/chm_lib.c:
+	itss: Remove unneeded casts.
+
+2008-01-07  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/gdiplus/gdiplus.c, dlls/gdiplus/graphicspath.c:
+	gdiplus: Remove unneeded casts.
+
+2008-01-07  Alexander Nicolaysen Sørnes <alex@thehandofagony.com>
+
+	* dlls/comdlg32/printdlg.c:
+	comdlg32: PageSetupDlgW: Set paper size in printer dialog.
+
+2008-01-06  Alexander Dorofeyev <alexd4@inbox.lv>
+
+	* dlls/ddraw/tests/visual.c:
+	ddraw/tests: Add test for rendering vertices with zero rhw.
+
+2008-01-07  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/kernel32/volume.c:
+	kernel32: Fail more gracefully in GetVolumeInformation for fake drive devices.
+
+2008-01-04  Eric Pouech <eric.pouech@orange.fr>
+
+	* dlls/gdi32/metafile.c:
+	gdi32: Break loop in MF_PlayMetaFile when META_EOF is found.
+
+2008-01-07  Michael Stefaniuc <mstefani@redhat.de>
+
+	* dlls/kernel32/volume.c:
+	kernel32: Add missing HeapFree(). Found by Smatch.
+
+2008-01-07  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* dlls/wined3d/surface.c:
+	wined3d: Unify color conversion code.
+
+2008-01-07  Lei Zhang <thestig@google.com>
+
+	* dlls/msxml3/msxml_private.h:
+	msxml: Fix compilation on machines without libxml2.
+
+2008-01-07  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/rpcrt4/ndr_clientserver.c:
+	rpcrt4: Set ReservedForRuntime to NULL in NdrClientInitializeNew.
+
+	* dlls/rpcrt4/rpc_async.c, dlls/rpcrt4/tests/rpc_async.c:
+	rpcrt4: Implement RpcAsyncInitializeHandle.
+
+	* dlls/rpcrt4/tests/Makefile.in, dlls/rpcrt4/tests/rpc_async.c:
+	rpcrt4: Add tests for some async RPC functions.
+
+	* dlls/rpcrt4/Makefile.in, dlls/rpcrt4/rpc_async.c,
+	  dlls/rpcrt4/rpcrt4.spec:
+	rpcrt4: Add stubs for asynchronous functions.
+
+	* dlls/rpcrt4/rpc_message.c, dlls/rpcrt4/rpcrt4.spec:
+	rpcrt4: Add stubs for I_RpcAsyncSetHandle and I_RpcAsyncAbortCall.
+
+	* dlls/rpcrt4/ndr_stubless.c:
+	rpcrt4: Call NdrCorrelationInitialize and NdrCorrelationFree from NdrClientCall2
+	if new correlation descriptors have been specified.
+
+	* dlls/rpcrt4/ndr_marshall.c, dlls/rpcrt4/rpcrt4.spec:
+	rpcrt4: Add stubs for NdrCorrelationInitialize, NdrCorrelationPass and
+	NdrCorrelationFree.
+
+	* dlls/rpcrt4/ndr_stubless.c, dlls/rpcrt4/ndr_stubless.h:
+	rpcrt4: ndr_stubless.h should include ndrtypes.h as it depends on types
+	it defines.
+
+	* dlls/rpcrt4/ndr_clientserver.c, dlls/rpcrt4/rpc_message.c,
+	  dlls/rpcrt4/tests/ndr_marshall.c, include/rpcdcep.h:
+	rpcrt4: Set the ProcNum of RPC_MESSAGE in NdrClientInitializeNew to include
+	RPC_VALID_FLAGS_BIT.
+	Mask out RPC_VALID_FLAGS_BIT from ProcNum when it is used to build a
+	packet to send to the server.
+
+	* dlls/rpcrt4/tests/ndr_marshall.c:
+	rpcrt4: Add tests for the RPC_MESSAGE members set by NdrClientInitializeNew.
+
+	* dlls/ole32/rpc.c:
+	ole32: Fix memory leaks caused by not calling the channel hook function when
+	extension_size is zero.
+	Instead free the allocated memory outside of the channel hook function.
+
+	* dlls/ole32/oleproxy.c:
+	ole32: Fix a memory leak.
+
+	* dlls/ole32/rpc.c:
+	ole32: Shortcut the RPC runtime for allocation of the message when processing
+	the COM call by just sending a message to a window in the process.
+
+	* dlls/ole32/rpc.c:
+	ole32: Clear the RPC_FLAGS_VALID_BIT flag from the RPC_MESSAGE ProcNum when
+	shortcutting the RPC runtime.
+
+	* tools/widl/typegen.c:
+	widl: Use symbolic names for some of the context handle attributes.
+
+	* tools/widl/typegen.c:
+	widl: Fix context handle "cannot be null" detection.
+	The "cannot be null" attibute is applied to a parameter if and only if
+	it is in-only.
+
+2008-01-06  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ntdll/reg.c, dlls/ntdll/tests/reg.c:
+	ntdll: Fix NtQueryValueKey for KeyValueBasicInformation.
+	Add some tests for this.
+
+	* dlls/ntdll/reg.c, dlls/ntdll/tests/reg.c:
+	ntdll: Fix the Data and Name returned by NtQueryValueKey for
+	KeyValueFullInformation.
+
+	* dlls/ntdll/tests/reg.c:
+	ntdll: Add tests for the data and name returned by NtQueryValueKey.
+
+2008-01-07  Alexandre Julliard <julliard@winehq.org>
+
+	* server/registry.c:
+	server: Output incorrectly-terminated strings in hex format.
+
+	* server/registry.c:
+	server: Make the registry parser more tolerant about malformed hex values.
+
+	* server/registry.c, server/unicode.c, server/unicode.h:
+	server: Accept utf-8 data as input in registry files.
+
+	* programs/regedit/regproc.c:
+	regedit: Fixed parsing of hex sequences.
+
+2008-01-07  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* dlls/wined3d/surface.c:
+	wined3d: Use software palette conversion for non-texturing operations.
+
+2008-01-06  Chris Wulff <crwulff@rochester.rr.com>
+
+	* dlls/shdocvw/oleobject.c:
+	shdocvw: Hide and show the frame window instead of the inner one.
+
+2008-01-06  Dan Kegel <dank@kegel.com>
+
+	* programs/winemenubuilder/winemenubuilder.c:
+	winemenubuilder: Expand short paths, else menu items aren't created for CSLU
+	Toolkit.
+
+2008-01-06  Peter Oberndorfer <kumbayo84@arcor.de>
+
+	* dlls/dwmapi/dwmapi.spec, dlls/dwmapi/dwmapi_main.c, include/dwmapi.h,
+	  tools/winapi/win32.api:
+	dwmapi: Add stub implementation for DwmSetWindowAttribute and
+	DwmUnregisterThumbnail.
+
+2008-01-04  Andre Wisplinghoff <andre.wisplinghoff@gmail.com>
+
+	* programs/regedit/framewnd.c:
+	regedit: Refresh tree view on import.
+
+2008-01-07  Alexandre Julliard <julliard@winehq.org>
+
+	* server/process.c, server/request.c:
+	server: Wait for the expiration of all the process SIGKILL timers before
+	exiting the server.
+
+	* dlls/kernel32/tests/actctx.c:
+	kernel32/tests: Avoid using size_t in traces.
+
+	* dlls/gdi32/tests/dc.c:
+	gdi32/tests: Avoid using size_t in traces.
+
+	* dlls/advapi32/tests/registry.c:
+	advapi32/tests: Print the correct size in an error message.
+
+	* dlls/wined3d/glsl_shader.c:
+	wined3d: Use unsigned int instead of size_t for the glsl mask size.
+
+	* dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c,
+	  dlls/d3d8/vertexdeclaration.c, dlls/d3d9/d3d9_private.h,
+	  dlls/d3d9/vertexdeclaration.c, dlls/wined3d/device.c,
+	  dlls/wined3d/vertexdeclaration.c, include/wine/wined3d_interface.h:
+	wined3d: Use unsigned int instead of size_t for element counts.
+
+	* configure, configure.ac, dlls/odbc32/proxyodbc.c,
+	  dlls/odbc32/proxyodbc.h, include/config.h.in:
+	configure: Added a check for the soname of libodbc.
+
+	* aclocal.m4, configure, configure.ac:
+	configure: Add --without options for all optional dependencies.
+
+2008-01-05  Peter Dons Tychsen <donpedro@dhcppc4>
+
+	* dlls/devenum/mediacatenum.c:
+	devenum: Fix the implementation of IEnumMoniker::Skip(), to match the MSDN specs.
+
+2008-01-04  Peter Dons Tychsen <donpedro@dhcppc4>
+
+	* dlls/dinput/dinput_main.c, dlls/dinput/joystick_linux.c,
+	  dlls/dinput/joystick_linuxinput.c:
+	dinput: Silence incorrect warning and move it to a valid place.
+
+2008-01-06  Alexander Nicolaysen Sørnes <alex@thehandofagony.com>
+
+	* dlls/comdlg32/printdlg.c:
+	comdlg32: PageSetupDlgW: Set orientation in printer dialog.
+
+2007-12-31  Rico Schüller <kgbricola@web.de>
+
+	* dlls/msi/dialog.c, dlls/msi/source.c:
+	msi: Fix memory leaks (found by Smatch).
+
+	* dlls/mshtml/install.c:
+	mshtml: Fix memory leak (found by Smatch).
+
+	* dlls/cabinet/cabinet_main.c:
+	cabinet: Fix memory leak (found by Smatch).
+
+2008-01-04  Austin English <austinenglish@gmail.com>
+
+	* dlls/winemp3.acm/dct64_i386.c, dlls/winemp3.acm/decode_i386.c,
+	  dlls/winemp3.acm/huffman.h, dlls/winemp3.acm/layer3.c,
+	  dlls/winenas.drv/audio.c, dlls/wineoss.drv/audio.c,
+	  dlls/wineoss.drv/midi.c, dlls/wineoss.drv/midipatch.c,
+	  dlls/winex11.drv/bitblt.c, dlls/winex11.drv/desktop.c,
+	  dlls/winex11.drv/dib.c, dlls/winex11.drv/event.c,
+	  dlls/winex11.drv/opengl.c, dlls/winex11.drv/winpos.c,
+	  dlls/winex11.drv/wintab.c, dlls/winex11.drv/xdnd.c,
+	  dlls/winex11.drv/xrender.c, dlls/wininet/ftp.c, dlls/wininet/http.c,
+	  dlls/wininet/internet.c, dlls/wininet/tests/generated.c,
+	  dlls/wininet/tests/url.c, dlls/wininet/urlcache.c:
+	Spelling fixes.
+
+2008-01-07  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/rpcrt4/rpcrt4_main.c, dlls/rpcrt4/tests/rpc.c:
+	rpcrt4: Implement I_RpcMapWin32Status.
+	Add a test for this function.
+
+	* include/rpcdcep.h:
+	include: I_RpcBindingInqTransportType and I_RpcMapWin32Status should be
+	always defined.
+
+	* tools/widl/typegen.c:
+	widl: Fix the conditions under which array freeing code is output.
+	It doesn't matter whether or not the array is declared as a pointer or
+	is declared using array subscripts - the array is still allocated by the
+	unmarshalling function and so needs to be freed.
+	Fix a typo that caused varying arrays never to be freed.
+	Fix another typo with the check for conformant arrays being performed
+	twice, redundantly.
+
+2008-01-07  Francois Gouget <fgouget@free.fr>
+
+	* dlls/wintab32/context.c:
+	wintab32: Add a trailing '\n' to a Wine trace.
+
+	* dlls/msxml3/tests/domdoc.c:
+	msxml3/tests: Add the trailing '\n' to an ok() call.
+
+2008-01-04  Aric Stewart <aric@codeweavers.com>
+
+	* dlls/imm32/imm.c, dlls/imm32/tests/imm32.c:
+	imm32: ImmNotifyIMM with CPS_CANCEL fully clears the composition string. Also
+	enable respective tests.
+
+2008-01-06  Rob Shearman <rob@codeweavers.com>
+
+	* include/wine/irot.idl:
+	include: Add the strict_context_handle flag to the Irot interface.
+
+	* dlls/rpcrt4/ndr_contexthandle.c, dlls/rpcrt4/ndr_marshall.c:
+	rpcrt4: Print fixme's if the serialize or no-serialize flags are set on a
+	context handle being marshalled or unmarshalled.
+
+	* tools/widl/parser.l, tools/widl/parser.y, tools/widl/typegen.c,
+	  tools/widl/widltypes.h:
+	widl: Add support for strict context handles.
+
+	* dlls/rpcrt4/ndr_marshall.c:
+	rpcrt4: Pass the interface identifier to the lower-level context handle routines
+	for context handles with the strict flag set.
+
+	* tools/widl/typegen.c:
+	widl: Output calls for the new versions of the marshalling and unmarshalling
+	routines for server context handles.
+	This needs to be done to match the call to NdrContextHandleInitialize
+	and because we default to using strict context handles.
+
+	* include/wine/rpcfc.h:
+	include: Add defines for context handle flags to rpcfc.h.
+
+	* dlls/ole32/tests/moniker.c:
+	ole32: Fix a typo in the class moniker tests.
+
+	* dlls/ole32/moniker.c:
+	ole32: get_moniker_for_progid_display_name should fallback to using IClassFactory
+	to get IParseDisplayName if getting it directly fails.
+
+2008-01-07  Alexandre Julliard <julliard@winehq.org>
+
+	* programs/wineboot/wineboot.c:
+	wineboot: Don't print errors for non-fatal problems.
+
+2008-01-06  Kirill K. Smirnov <lich@math.spbu.ru>
+
+	* programs/winhelp/winhelp.c:
+	winhelp: Fix index to handle offset value = 0 correclty.
+
+2008-01-06  Peter Oberndorfer <kumbayo84@arcor.de>
+
+	* dlls/user32/nonclient.c:
+	user32: Remove unused lpGrayMask array.
+
+2008-01-05  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/dxdiagn/container.c, dlls/dxdiagn/provider.c:
+	dxdiagn: Remove unneeded casts.
+
+	* dlls/gdi32/brush.c, dlls/gdi32/dib.c, dlls/gdi32/enhmetafile.c,
+	  dlls/gdi32/freetype.c, dlls/gdi32/metafile.c,
+	  dlls/gdi32/metafile16.c, dlls/gdi32/printdrv.c:
+	gdi32: Remove unneeded casts.
+
+	* dlls/gphoto2.ds/capability.c:
+	gphoto2.ds: Remove unneeded casts.
+
+	* dlls/iccvid/iccvid.c:
+	iccvid: Remove unneeded casts.
+
+	* dlls/imm32/imm.c:
+	imm32: Remove unneeded cast.
+
+	* dlls/comdlg32/finddlg32.c:
+	comdlg32: Remove unneeded cast.
+
+2008-01-07  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/advapi32/service.c:
+	advapi32: Fix the length written to the pipe for the start message.
+
+	* dlls/ntdll/file.c:
+	ntdll: Return a proper Information field also when opening a server file object.
+
+2008-01-05  Detlef Riekenberg <wine.dev@web.de>
+
+	* dlls/spoolss/spoolss.spec, dlls/spoolss/spoolss_main.c:
+	spoolss: Add stubs for SpoolerHasInitialized and SpoolerInit.
+
+2008-01-06  James Hawkins <truiken@gmail.com>
+
+	* dlls/msi/files.c, dlls/msi/tests/install.c:
+	msi: Create parent directories when duplicating files if they don't exist,
+	with tests.
+
+	* dlls/msi/action.c, dlls/msi/tests/install.c:
+	msi: Pad the month and day to two digits.
+
+	* dlls/msi/tests/install.c:
+	msi: Remove an erroneous table.
+
+2008-01-05  James Hawkins <truiken@gmail.com>
+
+	* dlls/msi/action.c:
+	msi: Copy the temporary package when storing the installer.
+
+	* dlls/msi/action.c:
+	msi: Check the local package for existence when resolving the package source.
+
+	* dlls/msi/files.c:
+	msi: Directly download mi->source now that SourceDir points to the URL.
+
+	* dlls/msi/action.c:
+	msi: OriginalDatabase can be a URL so check for a forward slash too.
+
+	* dlls/msi/action.c:
+	msi: SourceDir is formed from the path of OriginalDatabase.
+
+	* dlls/msi/package.c:
+	msi: OriginalDatabase is the fully-expanded path to the original package if
+	the package is local and installed from the command line.
+
+	* dlls/msi/action.c:
+	msi: Factor out msi_set_sourcedir_props.
+
+	* dlls/msi/package.c:
+	msi: If the package is a URL, the OriginalDatabase property should be the URL
+	and the DATABASE property should be the path to the local temporary package.
+
+	* dlls/msi/action.c:
+	msi: WriteEnvironmentStrings should also write to REG_EXPAND_SZ strings.
+
+	* dlls/msi/files.c:
+	msi: Only read an internal package if the file to install is compressed.
+
+2008-01-04  Eric Pouech <eric.pouech@orange.fr>
+
+	* dlls/riched20/editor.c, dlls/riched20/run.c, dlls/riched20/style.c:
+	richedit: Uniformly handle the bPitchAndFamily field out of CHARFORMAT.
+
+	* dlls/riched20/paint.c:
+	richedit: Check return of GetScrollInfo before accessing the returned structure.
+
+	* dlls/riched20/editor.c:
+	richedit: Initialize all the cursors at editor creation.
+
+	* dlls/riched20/style.c:
+	richedit: Only copy the charset when it's defined.
+
+2008-01-04  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/rpcrt4/rpc_message.c, dlls/rpcrt4/tests/ndr_marshall.c:
+	rpcrt4: Don't set Buffer to NULL in I_RpcFreeBuffer.
+
+	* dlls/rpcrt4/tests/ndr_marshall.c:
+	rpcrt4: Add some tests for NdrGetBuffer and NdrFreeBuffer.
+
+	* dlls/ole32/oleproxy.c:
+	ole32: Clear the RPC_MESSAGE structure before using it.
+	The RPC runtime could use some of the parameters, expecting them to be
+	initialised.
+
+	* dlls/kernel32/sync.c:
+	kernel32: Implement RegisterWaitForSingleObjectEx.
+
+	* programs/svchost/svchost.c:
+	svchost: Add a FIXME for an undocumented function (SvchostPushServiceGlobals)
+	that some native services expect to be called by native svchost.
+
+	* dlls/ole32/rpc.c:
+	ole32: Determine the destination for the COM call and initialise the
+	necessary parameters in ClientRpcChannelBuffer_GetBuffer instead of
+	ClientRpcChannelBuffer_SendReceive.
+	The parameters are then freed in the matching
+	ClientRpcChannelBuffer_FreeBuffer function.
+
+	* tools/widl/typegen.c:
+	widl: Make the offset of conformant string types point to the start of the
+	conformant string format chars, not the pointer type.
+	Otherwise, writing a type at top-level could cause the pointer format
+	string to be used in non-top-level places which may cause memory
+	corruption during freeing.
+
+	* dlls/rpcrt4/ndr_marshall.c, dlls/rpcrt4/rpc_server.c,
+	  dlls/rpcrt4/rpcrt4_main.c:
+	rpcrt4: Update todos.
+
+2008-01-04  Hans Leidekker <hans@it.vu.nl>
+
+	* tools/wine.desktop:
+	tools/wine.desktop: Add Dutch translation.
+
+	* dlls/kernel32/nls/nlb.nls, dlls/kernel32/nls/nls.nls:
+	kernel32: Add Surinam Dutch and Belgian Dutch translations of language group
+	names.
+
+	* dlls/kernel32/tests/change.c:
+	kernel32: Fix two test failures on Win98 due to missing GetTempPathW.
+
+	* dlls/wininet/http.c:
+	wininet: Fix handling of host and referrer headers in HttpOpenRequest.
+
+2008-01-04  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/kernel32/tests/volume.c:
+	kernel32/tests: Added tests for FindFirstVolume/FindNextVolume.
+
+	* dlls/kernel32/kernel32.spec, dlls/kernel32/volume.c:
+	kernel32: Implemented FindFirstVolume/FindNextVolume using the mount point
+	manager.
+
+	* dlls/mountmgr.sys/mountmgr.c:
+	mountmgr.sys: Implemented the IOCTL_MOUNTMGR_QUERY_POINTS request.
+
+	* dlls/mountmgr.sys/mountmgr.c:
+	mountmgr.sys: Add devices to the MountedDevices registry key.
+
+	* dlls/mountmgr.sys/mountmgr.c:
+	mountmgr.sys: Create disk devices for all configured drives.
+
+	* dlls/mountmgr.sys/mountmgr.c:
+	mountmgr.sys: Create a hard disk device for PhysicalDrive0.
+
+2008-01-01  Peter Dons Tychsen <donpedro@dhcppc4>
+
+	* dlls/ddraw/ddraw.c, dlls/ddraw/tests/ddrawmodes.c:
+	ddraw: Add missing pitch in callback from EnumDisplayModes().
+
+2007-12-29  Kirill K. Smirnov <lich@math.spbu.ru>
+
+	* dlls/kernel32/console.c:
+	kernel32: Convert newborn wineserver handle to kernel32 console handle.
+
+2008-01-04  Alexandre Julliard <julliard@winehq.org>
+
+	* Makefile.in, configure, configure.ac, dlls/Makefile.in,
+	  dlls/mountmgr.sys/Makefile.in, dlls/mountmgr.sys/mountmgr.c,
+	  dlls/mountmgr.sys/mountmgr.sys.spec:
+	mountmgr.sys: Added initial stub for the mount point manager device.
+
+2008-01-03  Austin English <austinenglish@gmail.com>
+
+	* dlls/winmm/mci.c, dlls/winmm/winmm.c, dlls/wldap32/ber.c,
+	  dlls/wldap32/control.c, dlls/ws2_32/async.c, dlls/ws2_32/socket.c,
+	  dlls/ws2_32/socket16.c, dlls/ws2_32/tests/sock.c:
+	More spelling fixes.
+
+2008-01-03  Jonathan Ernst <jonathan@ernstfamily.ch>
+
+	* .gitignore, server/Makefile.in, server/wineserver.fr.man.in:
+	server: New French man page for wineserver.
+
+2008-01-04  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/kernel32/process.c, programs/wineboot/Makefile.in,
+	  programs/wineboot/wineboot.c:
+	kernel32: Launch wineboot on first startup of a wine process.
+
+	* dlls/advapi32/service.c:
+	advapi32: Don't wait for 20 seconds if a service fails to start.
+
+2008-01-03  Lance Jackson <lancej@lancej.net>
+
+	* programs/cmd/batch.c, programs/cmd/builtins.c, programs/cmd/wcmdmain.c:
+	cmd: Fix some unclosed file and registry handles.
+
+2008-01-03  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/msi/table.c:
+	msi: Adjust the types of loop variables.
+
+	* dlls/d3d9/device.c:
+	d3d9: Fix type of loop variable.
+
+	* dlls/d3d8/device.c:
+	d3d8: Fix type of loop variable.
+
+2008-01-04  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/gdi32/font.c:
+	gdi32: Remove redundant indentation levels in CreateFontIndirectA and
+	CreateFontIndirectW.
+
+2008-01-04  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/txtrange.c:
+	mshtml: Don't assume that end_pos.node is text node in range_to_string.
+
+	* dlls/mshtml/protocol.c:
+	mshtml: Fixed Read implementations.
+
+	* dlls/mshtml/htmldoc.c, dlls/mshtml/tests/htmldoc.c:
+	mshtml: Added Invoke(DISPID_READYSTATE) implementation.
+
+2008-01-04  Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
+
+	* dlls/msxml3/tests/domdoc.c:
+	msxml3: Tests for get_xml, createAttribute, CreateComment, setNamedItem.
+
+	* dlls/msxml3/node.c:
+	msxml3: Implement get_xml.
+
+	* dlls/msxml3/node.c:
+	msxml3: Cannot add an attribute with appendChild.
+
+	* dlls/msxml3/node.c:
+	msxml3: Add missing values for get_nodeName.
+
+	* dlls/msxml3/domdoc.c, dlls/msxml3/tests/domdoc.c:
+	msxml3: Implement createAttribute.
+
+	* dlls/msxml3/domdoc.c, dlls/msxml3/tests/domdoc.c:
+	msxml3: Implement createComment.
+
+	* dlls/msxml3/msxml_private.h, dlls/msxml3/node.c, dlls/msxml3/nodemap.c:
+	msxml3: Implement setNamedItem.
+
+2008-01-03  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Call try_application_url after BindToObject failure.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Use BindToObject to load document (except for http, https and ftp
+	protocols).
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw.5: Move on_before_navigate2 call to navigate_mon.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Added OnStopBinding implementation and use it in http_load_hack.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Added OnProgress implementation.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Use OnObjectAvailable in http_load_hack.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Added OnObjectAvailable implementation.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Always create BindStatusCallback object.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Return correct variables in GetBindInfo.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Return S_OK in OnStartBinding.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Store DocHost in BindStatusCallback.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Added missing OnObjectAvailable function.
+
+2008-01-03  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* programs/winecfg/driveui.c, programs/winecfg/theme.c,
+	  programs/winecfg/winecfg.h:
+	winecfg: Don't mix the strings in unix and windows locales.
+
+2008-01-03  Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
+
+	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
+	msxml3: Return E_INVALIDARG when value is NULL.
+
+2008-01-01  Marcus Meissner <marcus@jet.franken.de>
+
+	* dlls/wininet/http.c:
+	wininet: Check return value of InternetCrackUrl when checking referrer host.
+
+2008-01-03  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/ntdll/virtual.c:
+	ntdll: Print an error for unsupported shared writable mappings.
+
+2008-01-02  Zach Goldberg <zgold@BlueSata.com>
+
+	* include/cvconst.h, include/d3d8types.h, include/ddraw.h,
+	  include/digitalv.h, include/dplobby.h, include/exdisp.idl,
+	  include/mmsystem.h, include/winternl.h, include/wintrust.h:
+	Fix some typos.
+
+2008-01-02  Austin English <austinenglish@gmail.com>
+
+	* dlls/avifil32/acmstream.c, dlls/gdi32/bidi.c, dlls/gdi32/painting.c,
+	  dlls/localspl/localmon.c, dlls/oledlg/pastespl.c,
+	  dlls/riched20/rtf.h, dlls/wineoss.drv/audio.h,
+	  dlls/wineps.drv/type1afm.c, dlls/wldap32/parse.c:
+	Spelling fixes.
+
+2008-01-02  Michael Jung <mjung@iss.tu-darmstadt.de>
+
+	* .gitignore, Makefile.in, configure, configure.ac, dlls/Makefile.in,
+	  dlls/imm32/tests/Makefile.in, dlls/imm32/tests/imm32.c,
+	  programs/winetest/Makefile.in, programs/winetest/winetest.rc:
+	imm32: Added some unit test cases.
+
+2008-01-02  Aric Stewart <aric@codeweavers.com>
+
+	* dlls/imm32/imm.c:
+	imm32: When updating a NULL HIMCC with NULL just return NULL. Handle the NULL
+	HIMCC for the compstr when doing a ImmNotifyIME for a reset.
+
+2008-01-02  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/msi/helpers.c:
+	msi: Remove an extraneous safety check and simplify generate_error_string().
+
+	* dlls/ws2_32/tests/sock.c:
+	ws2_32: Remove two noop checks.
+
+	* dlls/d3d8/device.c, dlls/d3d9/device.c, dlls/wined3d/device.c:
+	wined3d: Removed dead FIXME checks.
+
+2008-01-02  Rob Shearman <rob@codeweavers.com>
+
+	* include/ws2tcpip.h:
+	include: ws2tcpip.h should include winsock2.h.
+
+2008-01-02  H. Verbeet <hverbeet@gmail.com>
+
+	* dlls/wined3d/device.c:
+	wined3d: Properly handle the surface location in stretch_rect_fbo().
+
+	* dlls/wined3d/surface.c:
+	wined3d: SFLAG_INTEXTURE is the same as SFLAG_INDRAWABLE for offscreen render
+	targets when ORM_FBO is used.
+
+	* dlls/wined3d/surface.c:
+	wined3d: Bind the surface texture in LoadLocation().
+
+	* dlls/wined3d/surface.c:
+	wined3d: Move binding the texture and dirtifying the sampler to its own function
+	from surface_download_data().
+
+	* dlls/wined3d/cubetexture.c, dlls/wined3d/texture.c:
+	wined3d: Call SetGlTextureDesc() from BindTexture() rather than from PreLoad().
+
+	* dlls/wined3d/device.c, dlls/wined3d/indexbuffer.c,
+	  dlls/wined3d/surface.c:
+	wined3d: Call ActivateContext regardless of WINED3DCREATE_MULTITHREADED.
+
+2008-01-02  Alexandre Julliard <julliard@winehq.org>
+
+	* server/process.c, server/process.h, server/request.c, server/request.h,
+	  server/signal.c, server/trace.c:
+	server: Redesign the server shutdown processing.
+	System processes are now killed only after the server persistence
+	delay has expired. New processes are not allowed to start during
+	shutdown.
+
+	* server/request.c:
+	server: Use exponential backoff when waiting for wineserver -k to complete.
+
+2008-01-01  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/kernel32/tests/thread.c:
+	kernel32: Add tests for RegisterWaitForSingleObject and UnregisterWait.
+
+	* dlls/kernel32/sync.c:
+	kernel32: Implement RegisterWaitForSingleObject and UnregisterWait.
+
+	* dlls/ntdll/ntdll.spec, dlls/ntdll/threadpool.c, include/winternl.h:
+	ntdll: Implement RtlRegisterWait, RtlDeregisterWait and RtlDeregisterWaitEx.
+
+2008-01-01  Eric Pouech <eric.pouech@orange.fr>
+
+	* dlls/riched20/editor.c, dlls/riched20/editor.h, dlls/riched20/para.c:
+	richedit: Simplify first para style handling by creating a context.
+
+	* dlls/riched20/editor.c, dlls/riched20/paint.c:
+	richedit: Don't force repaint while the redraw flag is off.
+
+	* dlls/riched20/context.c, dlls/riched20/editor.h,
+	  dlls/riched20/editstr.h, dlls/riched20/paint.c, dlls/riched20/run.c,
+	  dlls/riched20/style.c, dlls/riched20/wrap.c:
+	richedit: Optimizations for the style selection.
+	Use a ME_Context for style selection/unselection.
+	Store the (x,y) dpi information for a given DC in the corresponding ME_Context
+	structure.
+
+	* dlls/riched20/editor.h, dlls/riched20/run.c, dlls/riched20/wrap.c:
+	richedit: Don't recreate the DC all the time, but use uniformely a ME_Context
+	structure where needed.
+
+	* dlls/riched20/paint.c, dlls/riched20/run.c, dlls/riched20/wrap.c:
+	richedit: Move init code after some sanity checks to avoid unneeded computations.
+
+	* dlls/riched20/caret.c:
+	richedit: Small optimisation in ME_GetSelectionInsertStyle.
+
+	* dlls/riched20/caret.c, dlls/riched20/editor.h, dlls/riched20/wrap.c:
+	richedit: Rewrote FindPixelPos so that it always return something.
+	Made the function static as well.
+
+	* dlls/riched20/editor.h, dlls/riched20/paint.c, dlls/riched20/wrap.c:
+	richedit: Added support for intra-paragraph line space.
+
+	* dlls/riched20/paint.c, dlls/riched20/wrap.c:
+	richedit: Added support for spaces above & below paragraphs.
+
+	* dlls/riched20/editor.h, dlls/riched20/paint.c, dlls/riched20/wrap.c:
+	richedit: Now drawing the paragraph borders (if any) from paraformat2.
+
+	* dlls/riched20/editor.h, dlls/riched20/paint.c, dlls/riched20/wrap.c:
+	richedit: Fix the para computation when zoom is used.
+
+	* dlls/riched20/editstr.h, dlls/riched20/paint.c, dlls/riched20/para.c,
+	  dlls/riched20/wrap.c:
+	richedit: Enforce usage of paraformat2 fields instead of homegrown ones for
+	paragraphs.
+
+	* dlls/riched20/para.c:
+	richedit: Properly copying the paraformat2 structure for paragraphs.
+
+	* dlls/riched20/para.c:
+	richedit: Now dumping all fields from the paraformat2 structure.
+
+	* dlls/riched20/para.c:
+	richedit: Correctly initialize the paraformat structure.
+
+	* dlls/riched20/editor.c, dlls/riched20/editor.h, dlls/riched20/paint.c:
+	richedit: Simplified handling of background brush while painting.
+
+	* dlls/riched20/paint.c:
+	richedit: Now painting the newly supported underline types.
+
+	* dlls/riched20/editor.c, dlls/riched20/para.c, dlls/riched20/run.c,
+	  dlls/riched20/style.c:
+	richedit: Extend the usage of underlinetype from charformat2 in richedit.
+
+	* dlls/riched20/wrap.c:
+	richedit: Don't allow recursive EN_REQUESTRESIZE notifications.
+
+	* dlls/riched20/style.c:
+	richedit: Correctly copy the pitch and family field.
+
+	* dlls/riched20/para.c:
+	richedit: Fully initialize the first style.
+
+	* dlls/riched20/style.c:
+	richedit: Correctly set the CFM_WEIGHT in charformat2.
+
+	* dlls/riched20/style.c:
+	richedit: Fixed a couple of charformatXXm structure conversions because of
+	alignment issues.
+
+	* dlls/riched20/editor.c:
+	richedit: Added support for some message (key, mouse) filtering events.
+
+2008-01-01  Hans Leidekker <hans@it.vu.nl>
+
+	* dlls/msvcrt/msvcrt.spec:
+	msvcrt: Fix spec file entries for the execv functions.
+
+	* dlls/gdi32/font.c, dlls/gdi32/gdi32.spec:
+	gdi32: Add a stub implementation for RemoveFontMemResourceEx.
+
+2008-01-01  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/msi/helpers.c:
+	msi: Remove an extraneous safety check and simplify deformat_string().
+
+2008-01-02  Alexander Dorofeyev <alexd4@inbox.lv>
+
+	* include/d3d.h:
+	include/d3d.h: Fix method calling macros for IDirect3DTexture.
+
+2008-01-01  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/user32/user32.spec, dlls/user32/user_main.c:
+	user32: Add a stub implementation of RegisterServicesProcess.
+
+2007-12-31  Austin English <austinenglish@gmail.com>
+
+	* dlls/msi/classes.c:
+	msi: Fix several typos.
+
+	* dlls/dplayx/dplayx_queue.h:
+	dplayx: Fix a typo.
+
+2007-12-30  Lionel Debroux <lionel_debroux@yahoo.fr>
+
+	* dlls/dinput/joystick_linux.c:
+	dinput: Improve TRACEs and WARNs.
+
+	* dlls/msi/action.c, dlls/msi/database.c:
+	msi: Correctly handle return value of msi_realloc.
+
+2007-12-30  Reece H. Dunn <msclrhd@gmail.com>
+
+	* include/gdiplustypes.h:
+	gdiplus: Added the ProfileNotFound status code.
+
+2008-01-02  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/crypt32/context.c, dlls/crypt32/crl.c,
+	  dlls/crypt32/crypt32_private.h:
+	crypt32: Avoid casting away const from the context pointer.
+
+2008-01-01  Michael Stefaniuc <mstefani@redhat.de>
+
+	* dlls/netapi32/access.c:
+	netapi32: Remove two unused global variables.
+
+2008-01-01  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/qcap/qcap_main.c:
+	qcap: Complete initializers for g_cTemplates[].
+
+	* dlls/wined3d/device.c:
+	wined3d: Simplify three checks based on the unsignedness of variables.
+
+	* dlls/ole32/compobj.c:
+	ole32: Remove one noop check in CoWaitForMultipleHandles().
+
+	* dlls/winspool.drv/tests/info.c:
+	winspool: Adjust the typo of a loop variable in test_EnumForms().
+	Simplify a test in test_GetPrinterDriver().
+
+	* dlls/wined3d/cubetexture.c:
+	wined3d: Remove four noop checks.
+
+	* dlls/d3d9/tests/visual.c:
+	d3d9/tests: Simplify condition in test_vshader_input().
+
+	* dlls/msi/table.c:
+	msi: Simplify condition in TABLE_fetch_stream().
+
+2007-12-31  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/d3d8/device.c:
+	d3d8: Remove unneeded casts.
+
+	* dlls/comctl32/propsheet.c, dlls/comctl32/status.c, dlls/comctl32/tab.c,
+	  dlls/comctl32/toolbar.c, dlls/comctl32/tooltips.c,
+	  dlls/comctl32/trackbar.c, dlls/comctl32/treeview.c:
+	comctl32: Remove unneeded casts.
+
+	* dlls/dsound/capture.c, dlls/dsound/dsound.c, dlls/dsound/mixer.c:
+	dsound: Remove unneeded casts.
+
+	* dlls/dplayx/dplayx_global.c, dlls/dplayx/dplobby.c:
+	dplayx: Remove unneeded casts.
+
+	* dlls/ddraw/device.c, dlls/ddraw/viewport.c:
+	ddraw: Remove unneeded casts.
+
+	* dlls/dbghelp/minidump.c:
+	dbghelp: Remove unneeded casts.
+
+2007-12-31  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/htmldoc.c, dlls/mshtml/mshtml_private.h,
+	  dlls/mshtml/navigate.c, dlls/mshtml/persist.c:
+	mshtml: Added PutProperty implementation.
+
+2007-12-31  Michael Stefaniuc <mstefani@redhat.de>
+
+	* dlls/comctl32/datetime.c, dlls/gdiplus/graphics.c,
+	  dlls/msi/tests/install.c, dlls/msi/tests/msi.c,
+	  dlls/oleaut32/tests/varformat.c, dlls/quartz/tests/misc.c:
+	janitorial: Remove superfluous backslashes at end of lines.
+
+2007-12-29  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/winex11.drv/mouse.c:
+	winex11.drv: Simplify condition in create_xcursor_cursor() based on the
+	unsignedness of types.
+
+	* dlls/kernel32/tests/alloc.c:
+	kernel32/tests: Remove extraneous check.
+
+	* programs/taskmgr/graph.c:
+	taskmgr: Remove redundant out-of-domain checking which is already handled by
+	PerfDataGetProcessorUsage() and PerfDataGetProcessorSystemUsage().
+
+	* programs/winhelp/winhelp.c:
+	winhelp: Remove a dead condition.
+
+2007-12-30  Alexander Dorofeyev <alexd4@inbox.lv>
+
+	* dlls/wined3d/surface.c:
+	wined3d: Fix regression of colorfill and texture to swapchain codepaths in
+	BltOverride.
+
+	* dlls/ddraw/texture.c:
+	ddraw: Remove redundant iface<->impl casts in IDirect3DTextureImpl_Load.
+	The implementation pointer retrieved from interface ptr wasn't being used for
+	anything except retrieving same interface ptr back.
+
+	* dlls/ddraw/texture.c:
+	ddraw: Release palette interfaces.
+
+	* dlls/wined3d/palette.c:
+	wined3d: Free palette handle when destroying IWineD3DPaletteImpl.
+
+2007-12-31  Jeremy White <jwhite@codeweavers.com>
+
+	* dlls/winex11.drv/wintab.c:
+	wintab32: If we could not find a stylus sort of device, we haven't found
+	a tablet.
+
+	* dlls/winex11.drv/wintab.c:
+	wintab32: Add logic to detect specific tablet cursor types, use it to discard
+	non tablet X devices.
+
+2007-12-30  Jeremy White <jwhite@codeweavers.com>
+
+	* dlls/wintab32/context.c, dlls/wintab32/wintab_internal.h:
+	wintab32: Remove the unused and clearly broken FindOpenContext function.
+	It's clear that someone left it in by accident; the TABLET_FindOpenContext
+	is its clear successor.
+
+	* dlls/winex11.drv/wintab.c, dlls/wintab32/context.c:
+	wintab32: Add modest trace information for tablets.
+
+2007-12-30  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/crypt32/cert.c, dlls/crypt32/protectdata.c, dlls/crypt32/store.c,
+	  dlls/crypt32/str.c:
+	crypt32: Remove unneeded casts.
+
+	* dlls/cryptnet/cryptnet_main.c:
+	cryptnet: Remove unneeded cast.
+
+2007-12-29  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/user32/dde_server.c:
+	user32: Fix a spelling typo.
+
+	* dlls/avifil32/api.c, dlls/avifil32/avifile.c, dlls/avifil32/factory.c:
+	avifil32: Remove unneeded casts.
+
+	* dlls/cabinet/fdi.c:
+	cabinet: Remove unneeded cast.
+
+	* dlls/comctl32/commctrl.c, dlls/comctl32/datetime.c,
+	  dlls/comctl32/header.c, dlls/comctl32/ipaddress.c,
+	  dlls/comctl32/listview.c, dlls/comctl32/monthcal.c,
+	  dlls/comctl32/pager.c, dlls/comctl32/rebar.c,
+	  dlls/comctl32/syslink.c, dlls/comctl32/updown.c:
+	comctl32: Remove unneeded casts.
+
+	* dlls/advapi32/crypt_md4.c, dlls/advapi32/crypt_md5.c:
+	advapi32: Remove unneeded casts.
+
+2007-12-29  Peter Dons Tychsen <donpedro@dhcppc4>
+
+	* dlls/oleaut32/tmarshal.c:
+	oleaut32: Add missing types to serialize/deserialize.
+
+2007-12-29  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ntdll/reg.c, dlls/ntdll/tests/reg.c:
+	ntdll: Set the DataLength field of the information field in NtQueryValueKey
+	to how much data should be returned, not what was actually returned.
+
+	* dlls/ntdll/tests/reg.c:
+	ntdll: Add some tests for NtQueryValueKey.
+
+2007-12-29  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/user32/sysparams.c:
+	user32: Fix type of loop variable.
+
+	* dlls/wined3d/basetexture.c:
+	wined3d: Remove noop check in IWineD3DBaseTextureImpl_Appl().
+
+	* dlls/msi/delete.c:
+	msi: Add missing initializer for delete_ops.
+
+2007-12-31  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/shell32/shfldr_netplaces.c:
+	shell32: Fix messed up indentation.
+
+	* dlls/winedos/interrupts.c:
+	winedos: Don't emulate in 32-bit mode interrupts that don't have a specific
+	handler.
+
+2007-12-30  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/rpcrt4/ndr_clientserver.c:
+	rpcrt4: Fix NdrGetBuffer to set the correct fields in the MIDL_STUB_MESSAGE
+	structure.
+	Fix NdrFreeBuffer to use the fBufferValid flag to determine whether or
+	not I_RpcFreeBuffer needs to be called.
+
+	* dlls/rpcrt4/tests/rpc.c:
+	rpcrt4: Make some variables in the tests static.
+
+	* dlls/rpcrt4/tests/ndr_marshall.c:
+	rpcrt4: Add tests for NdrServerInitializeNew.
+
+	* dlls/rpcrt4/ndr_clientserver.c:
+	rpcrt4: Fix the MIDL_STUB_MESSAGE fields set by NdrServerInitializeNew.
+
+	* dlls/rpcrt4/ndr_contexthandle.c:
+	rpcrt4: Fix a case of destroying a context handle without first releasing
+	the lock.
+	Reverse the order of the release statements in NDRSContextMarshall2 for
+	the case where the context handle doesn't have valid data so that the
+	release that releases the lock comes first and then the optional second
+	release doesn't need to release the lock.
+
+	* dlls/rpcrt4/ndr_contexthandle.c, dlls/rpcrt4/rpc_binding.h,
+	  dlls/rpcrt4/rpc_server.c, dlls/rpcrt4/rpcrt4_main.c:
+	rpcrt4: Keep a track of server context handles allocated during processing of
+	a request.
+	Release them after processing of a request has finished to avoid a slow
+	memory leak if the association isn't released for ages.
+
+	* include/rpcdcep.h:
+	include: Add defines for more message flags in rpcdcep.h.
+
+	* tools/widl/typegen.c:
+	widl: Check that the buffer has enough space before unmarshalling base types
+	in generated code.
+
+2007-12-30  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/ole32/bindctx.c:
+	ole32: Fixed parameter checking and improved debug traces in
+	IBindCtx::QueryInterface.
+
+	* dlls/urlmon/tests/url.c:
+	urlmon: Added more tests.
+
+	* dlls/urlmon/binding.c, dlls/urlmon/tests/url.c, dlls/urlmon/umon.c,
+	  dlls/urlmon/urlmon_main.h:
+	urlmon: Added BindToObject implementation.
+
+	* dlls/urlmon/format.c:
+	urlmon: Call AddRef in EnumFORMATETC::QueryInterface.
+
+	* dlls/urlmon/binding.c:
+	urlmon: Added "CBinding Context" bind option support.
+
+	* dlls/urlmon/binding.c:
+	urlmon: Binding_Create clean up.
+
+	* dlls/urlmon/binding.c:
+	urlmon: Better error handling.
+
+	* dlls/urlmon/binding.c:
+	urlmon: Better implementation of bind stopping.
+
+	* dlls/urlmon/binding.c, dlls/urlmon/umon.c, dlls/urlmon/urlmon_main.h:
+	urlmon: Make start_binding more generic.
+
+	* dlls/urlmon/bindctx.c, dlls/urlmon/tests/url.c:
+	urlmon: Added ibind argument handling in CreateAsyncBindCtx.
+
+	* include/urlmon.idl:
+	urlmon.idl: Added missing MONIKERPROPERTY variables.
+
+	* dlls/urlmon/binding.c, dlls/urlmon/bindprot.c, dlls/urlmon/session.c,
+	  dlls/urlmon/urlmon_main.h:
+	urlmon: Use BindProtocol in Binding object.
+
+2007-12-29  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/rpcrt4/ndr_marshall.c:
+	rpcrt4: Implement NdrConformantStringMemorySize.
+
+	* dlls/rpcrt4/tests/ndr_marshall.c:
+	rpcrt4: Add some tests for non-conformant strings.
+
+	* dlls/rpcrt4/ndr_marshall.c:
+	rpcrt4: Implement non-conformant string functions.
+
+	* programs/rpcss/irotp.c:
+	rpcss: Initialise some out-only parameters that aren't initialised by the
+	generated RPC code.
+
+2007-12-29  Michael Stefaniuc <mstefani@redhat.de>
+
+	* dlls/user32/dde_misc.c:
+	user32: Remove unneeded casts.
+
+	* dlls/wininet/ftp.c:
+	wininet: Fix typo in comparison with NULL. Found by Smatch.
+
+2007-12-28  Lei Zhang <thestig@google.com>
+
+	* dlls/gdiplus/gdiplus.spec, dlls/gdiplus/pen.c, dlls/gdiplus/tests/pen.c:
+	gdiplus: Add GdipCreatePen2 and test cases.
+
+	* dlls/gdiplus/tests/pen.c:
+	gdiplus: Initialize a variable in a test.
+
+2007-12-28  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/ntdll/critsection.c, dlls/ntdll/heap.c, dlls/ntdll/reg.c,
+	  dlls/ntdll/relay.c, dlls/ntdll/sec.c, dlls/ntdll/threadpool.c:
+	ntdll: Remove unneeded casts.
+
+	* dlls/msvfw32/msvideo16.c, dlls/msvfw32/msvideo_main.c:
+	msvfw32: Remove unneeded casts.
+
+2007-12-28  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/urlmon/tests/protocol.c:
+	urlmon: Added more binding tests.
+
+	* dlls/urlmon/bindprot.c:
+	urlmon: Release protocol sink in Terminate.
+
+	* dlls/urlmon/bindprot.c:
+	urlmon: More ReportProgress implementation.
+
+	* dlls/urlmon/bindprot.c, dlls/urlmon/urlmon_main.h:
+	urlmon: Move setting protocol_sink to separated function.
+
+2007-12-28  Alexandre Julliard <julliard@winehq.org>
+
+	* ANNOUNCE, ChangeLog, VERSION, configure:
+	Release 0.9.52.
+
+----------------------------------------------------------------
 2007-12-28  Vincent Hardy <vincent.hardy.be@gmail.com>
 
 	* programs/regedit/Fr.rc:
diff --git a/VERSION b/VERSION
index b4447a7..d6b10dd 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 0.9.52
+Wine version 0.9.53
diff --git a/configure b/configure
index 9dfdc0a..8a3959c 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 0.9.52.
+# Generated by GNU Autoconf 2.61 for Wine 0.9.53.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -574,8 +574,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='0.9.52'
-PACKAGE_STRING='Wine 0.9.52'
+PACKAGE_VERSION='0.9.53'
+PACKAGE_STRING='Wine 0.9.53'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 
 ac_unique_file="server/atom.c"
@@ -1289,7 +1289,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 0.9.52 to adapt to many kinds of systems.
+\`configure' configures Wine 0.9.53 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1358,7 +1358,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 0.9.52:";;
+     short | recursive ) echo "Configuration of Wine 0.9.53:";;
    esac
   cat <<\_ACEOF
 
@@ -1483,7 +1483,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 0.9.52
+Wine configure 0.9.53
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1497,7 +1497,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 0.9.52, which was
+It was created by Wine $as_me 0.9.53, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -22236,7 +22236,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 0.9.52, which was
+This file was extended by Wine $as_me 0.9.53, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -22289,7 +22289,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Wine config.status 0.9.52
+Wine config.status 0.9.53
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
