diff --git a/ANNOUNCE b/ANNOUNCE
index da552bc..e54d4c5 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,17 +1,19 @@
-This is release 0.9.32 of Wine, a free implementation of Windows on Unix.
+This is release 0.9.33 of Wine, a free implementation of Windows on Unix.
 
 What's new in this release:
   - Many Direct3D fixes and performance improvements.
-  - Several new features in the builtin cmd.exe.
-  - Improvements to HTML help support.
+  - More comctl32 tests and some bug fixes.
+  - Compatibility improvements in cmd.exe.
+  - Still more fixes to builtin OLE.
+  - Support for process control on Solaris.
   - 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.32.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-0.9.32.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.33.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-0.9.33.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -33,480 +35,520 @@
 
 ----------------------------------------------------------------
 
-Changes since 0.9.31:
+Changes since 0.9.32:
+
+Alasdair Sinclair (1):
+      kernel32: Fix GetComputerNameA to not count trailing NULL, with test.
 
 Alessandro Pignotti (1):
-      dplay: Directplay should initialize session Guid, with conformance tests.
+      dplayx: DirectPlay should keep track of the user count.
 
-Alex Arazi (1):
-      comctl32: More status bar tests.
+Alexandre Julliard (34):
+      clock: Make the window round in no title bar mode, to exercise SetWindowRgn.
+      server: Expose areas revealed by changes to the window region.
+      server: Replace use of internal __pthread_kill() function by a system call.
+      wine.inf: dwReserved values for DirectPlay providers should be dwords
+      wineps.drv: Return correct values for DESKTOPHORZ/VERTRES since they are used to setup the visible region.
+      server: Use internal luid_t type where appropriate.
+      netapi32: Added support for more info levels in NetWkstaGetInfo.
+      Added version information for a number of dlls.
+      wine_common_ver: Set company name to Microsoft, some apps check for that.
+      winedump: Fixed formatting of timestamps.
+      kernel32: Add missing limits.h include.
+      configure: Get rid of lex compatibility support, we require flex anyway.
+      configure: Fixed default dependencies to work properly in test dirs too.
+      advapi32: Fixed registry test that failed because of a buffer overflow.
+      kernel32: Fixed DosDateTimeToFileTime behavior when timegm() is missing.
+      kernel32: Implemented GetSystemInfo() for Solaris.
+      server: Added process control support using /proc on Solaris.
+      shdocvw: Avoid a printf format warning.
+      ntdll: Fixed a compiler warning for size_t/unsigned int mismatch.
+      Fixed some compilation issues on Mac OS X Leopard.
+      msvcrt: Improved _local_unwind2 implementation.
+      oleview: Use standard APIs in SaveIdl and avoid overflows.
+      ntdll: Changed some Solaris defines so that we can access the signal error code.
+      ntdll/tests: Mask reserved bits before testing dr7.
+      ntdll: Fixed some exception codes and parameters.
+      msvcrt: _initterm doesn't return anything.
+      ntdll: Add a wrapper to call the thread entry point for broken apps.
+      ntdll: Fixed typo in previous patch, spotted by Ken Thomases.
+      winnls.h: Added some defines for Unicode surrogates.
+      libwine: Pass flags to wine_utf8_wcstombs to allow supporting WC_ERR_INVALID_CHARS.
+      libwine: Added support for Unicode surrogates in utf-8 conversions.
+      libwine: Update the Unicode tables to version 5.0.1 of the standard.
+      configure: Remove no longer needed check for libsane.
+      cmd: Fix a compiler warning.
 
-Alexander Farber (2):
-      cmd: Fixed 3 buffer overflows when fetching environment variables.
-      cmd: Support /-Y and COPYCMD environment variable in the "copy" builtin.
+Anatoly Lyutin (3):
+      comctl32: Update Russian and Ukrainian resourses.
+      cmd: Update translation and synchronize Russian resource.
+      wineconsole: Update Russian resources.
 
-Alexander Nicolaysen Sørnes (8):
-      wordpad: Make toolbar more like native.
-      wordpad: Don't create maximized window.
-      wordpad: Add paste support.
-      wordpad: Make edit menu more like native.
-      wordpad: Add open file dialogue.
-      wordpad: Set default font to 'Times New Roman', like native does.
-      wordpad: Small cosmetic fixes.
-      wordpad: Add text alignment buttons.
+Andrew Talbot (19):
+      version: Constify some variables.
+      advapi32: Constify a variable.
+      advapi32: Replace const pointer parameters with correct pointers to const.
+      msi: Replace const pointer parameters with correct pointers to const.
+      comctl32: Replace const pointer parameter with correct pointer to const.
+      msvfw32: Replace const pointer parameter with correct pointer to const.
+      comdlg32: Replace const pointer parameters with correct pointers to const.
+      user32: Replace const pointer parameters with correct pointers to const.
+      mpr: Replace const pointer parameters with correct pointers to const.
+      winmm: Replace const pointer parameters with correct pointers to const.
+      serialui: Replace const pointer type with correct pointer to const.
+      winex11.drv: Replace const pointer parameters with correct non-const pointers.
+      advapi32: Constify some variables.
+      advapi32: Constify some variables.
+      advapi32: Constify some variables.
+      advapi32: Explicitly initialize nested array element.
+      advpack: Constify some variables.
+      avifil32: Constify some variables.
+      cabinet: Constify some variables.
 
-Alexandre Julliard (11):
-      widl: 'control' is an attribute not a keyword.
-      server: Added support for the PM_QS_* flags in PeekMessage.
-      cmd: Remove execute permission on source files.
-      gdi32: Make DC creation fail if we cannot allocate the visible region.
-      advapi32: Avoid slashes and backslashes in user names.
-      widl: Add missing '\n' on error message.
-      advapi32: Reimplement QueryServiceConfigA on top of QueryServiceConfigW.
-      advapi32: Create the service manager registry key if needed.
-      cmd: Fix silly local variables indentation that breaks diff -p.
-      wine/test: Print the official name of the test in summary.
-      makedep: Fixed string comparison against the source tree path
+András Kovács (1):
+      wined3d: Set WINED3DCAPS2_DYNAMICTEXTURES flag.
 
-Anatoly Lyutin (2):
-      wineconsole: Added range of value for an up-down control.
-      wineconsole: Use MAKELPARM instead of MAKELONG.
+Aric Stewart (5):
+      gdi32: Set FontSubstitute values by locale.
+      user32: Don't delete hrgnClip until we are done using it.
+      gdi32: Search SystemLinked fonts when looking for a valid replacement.
+      wineps.drv: Check for correct value for end of list.
+      wineps.drv: Values for DC_MINEXTENT and DC_MAXEXTENT are returned, not placed in the data pointer.
 
-Andrew Talbot (13):
-      mciseq: Constify a variable.
-      msadp32.acm: Constify some variables.
-      msi: Constify some variables.
-      msg711.acm: Constify some variables.
-      netapi32: Constify a variable.
-      msvfw32: Constify a variable.
-      odbc32: Constify some variables.
-      serialui: Constify a variable.
-      version: Constify a variable.
-      version: Constify a variable.
-      wineps.drv: Constify some variables.
-      wininet: Constify some variables.
-      winspool.drv: Eliminate some W-to-A cross calls.
+Byeong-Sik Jeon (3):
+      gdi32: Add missing pFT_Done_Face().
+      gdi32: Fix FontSubstitute values for Korean locale.
+      winecfg: Fix typo.
 
-Aric Stewart (11):
-      imm32: Implement stubs for ImmGetImeMenuItemsA and ImmGetImeMenuItemsW.
-      comctl32: Implement LVM_SETUNICODEFORMAT.
-      shell32: IShellLink::GetIDList fix.
-      imm32: Implement GSC_RESULTCLAUSE.
-      imm32: Corrections to the message ordering for IME input.
-      imm32: Properly send WM_IME_NOTIFY using SendMessage.
-      gdi32: Allow for loading of multibyte font name replacements.
-      gdi32: Select correct replacement from ttc file.
-      kernel32: Allow for non base-10 int values in ini file.
-      winex11.drv: Make sure keyboard state is up to date before processing GetAsyncKeyState.
-      gdi32: Don't fail replacement on no localized family name.
+Chris Peterson (1):
+      comctl32: treeview: Message sequencing tests.
 
-Bang Jun-Young (2):
-      README: Fully revise Korean translation.
-      notepad: Fully revise Korean translation.
+Chris Robinson (12):
+      quartz: Return the proper interface for IFilterMapper.
+      quartz: Use the proper CLSID when creating the IFilterMapper2 interface.
+      quartz: Use the right vtable offset for the IMediaFilter functions.
+      quartz: Report the previous refcount of a PullPin object.
+      quartz: Don't AddRef an object we just created and are handing back to the caller.
+      quartz: Improve reference traces.
+      quartz: Use proper alloc/free functions for COM objects.
+      quartz: Check allocation failure and clear memory in DSound Renderer.
+      quartz: Stop DSound buffer playback when the filter is paused or stopped, not the next time it's processed.
+      quartz: Cleanup properly around error conditions and avoid a potential infinite loop.
+      quartz: Force disconnect when a filter is fully released.
+      quartz: Avoid asserting from used samples on allocator release.
 
-Chris Robinson (10):
-      quartz: Stop and free the dsound buffer when needed.
-      quartz: Don't use uninitialized memory in ACMWrapper.
-      quartz: Check for the proper ID when querying for the IBasicAudio interface.
-      quartz: Make sure the splitter has output plugins before trying to render them.
-      quartz: Return proper error codes from GraphBuilder_RenderFile.
-      quartz: Better handle error conditions when connections fail.
-      quartz: Add IMediaPosition interface and stubs.
-      quartz: Initialize a pointer to NULL for the case of no enumerated filters.
-      quartz: Don't release filters when they connect.
-      quartz: Implement IUnknown methods for IMediaPosition.
+Dan Kegel (1):
+      advapi32: RegGetKeySecurity needs to pass length of struct to caller.
 
-Christian Costa (1):
-      winealsa: Recognize alsa application ports as generic midi ports.
+Detlef Riekenberg (9):
+      winspool/tests: Vista returns a different status.
+      localspl: Do not crash when Xcv was opened without a space in the name.
+      serialui: Fix return type for CommConfigDialog.
+      serialui/tests: Add some tests for CommConfigDialog.
+      localspl: Implement DeletePort for XcvDataPort.
+      localspl/tests: Add tests for XcvDataPort_DeletePort.
+      localspl/tests: Add tests for XcvDataPort_AddPort.
+      localspl/tests: Check for Xcv-API only once.
+      localspl: Add a comment, why we do not implement AddPort for XcvDataPort.
 
-Clinton Stimpson (1):
-      user32: Add another test for GetUpdateRect().
+Dmitry Timoshkov (12):
+      user32: Fix most of test failures when running message test under win2k and XP.
+      user32: win2k and XP return broken border info in GetWindowInfo most of the time, so there is no point in testing it.
+      gdi32: Avoid a needless goto.
+      user32: Make the excessive scroll test pass under Windows.
+      winex11.drv: Do not ignore the keysyms assigned to a group switch, it leads to side effects like missing KeyRelease events.
+      gdi32: Add an extensive EnumFontFamilies test, fix some failures when running under Wine.
+      comdlg32: Use unicode Win32 APIs when possible.
+      comdlg32: Use unicode Win32 APIs when possible.
+      ntdll: Make the error test pass under XP.
+      ntdll: Catch the exceptions in the TLS callback like Windows does.
+      gdi32: Add a GetTextMetrics test, make it pass under Wine.
+      user32: Restore erroneously removed chunk of code.
 
-Detlef Riekenberg (12):
-      regedit: Enable WM_RBUTTONDOWN to set the splitbar.
-      localspl: Implement GetTransmissionRetryTimeout for XcvDataPort.
-      localspl/tests: Add tests for XcvDataPort_GetTransmissionRetryTimeout.
-      localspl: Implement ConfigureLPTPortCommandOK for XcvDataPort.
-      localspl/tests: Add tests for XcvDataPort_ConfigureLPTPortCommandOK.
-      localspl: Implement GetDefaultCommConfig for XcvDataPort.
-      localspl: Implement SetDefaultCommConfig for XcvDataPort.
-      kernel32: Display correct parameters in comm traces.
-      serialui: Fix return type for drvGetDefaultCommConfig.
-      serialui/tests: Add initial tests.
-      serialui: Use RS232 as default ProviderSubType.
-      kernel32: Remove duplicate code (use serialui instead).
+Eric Pouech (15):
+      winedbg: Fix maint type when no process is active.
+      winedbg: Fix printing function signature type for circular references on return type.
+      winedbg: When reloading a minidump, recreate all threads from the thread record (and not just the first one).
+      dbghelp: Implemented SymEnumTypesW.
+      dbghelp: Fixes for loading circular references on function signature.
+      dbghelp: module target: Better error handling when init fails and creates a dummy thread.
+      winedbg: We no longer need to force for ELF modules in minidumps as we do it automatically now.
+      winedbg: Forward the wShowWindow option from winedbg to the debuggee.
+      dbghelp: Added helper to get the basename + extension from full filename.
+      dbghelp: Rewrote module_is_elf_container_loaded so that it no longer
+      dbghelp: Cleanups for module loading (lookups on module name and image name are two different things)
+      dbghelp: Get rid of module_name in all traces (using Unicode flavor).
+      imagehlp: Added a few more forward definitions to dbghelp.
+      dbghelp: Renamed pe_load_module (resp pe_load_module_from_pcs)
+      dbghelp: Rewrote SymEnumerateModules with Unicode basis, and implemented SymEnumerateModulesW64.
 
-Dmitry Timoshkov (13):
-      gdi32: Move get_glyph_indices near its caller test_font_charset.
-      msvcrt: Pack the structures on a 8-byte boundary like in PSDK.
-      user32: Add a test for DefDlgProc(WM_SETFOCUS), make the test pass under Wine.
-      user32: Add traces to the cursor APIs.
-      user32: Add a CreateIcon test, make it pass under Wine.
-      winex11.drv: Clients should pass only KeyPress events to XmbLookupString.
-      gdi32: Avoid a not necessary CreateDC call.
-      dlls: Add wing32 dll.
-      comdlg32: Synchronize ChooseColor dialog templates with the English one.
-      imm32: Simplify ImmInternalSendIMENotify.
-      user32: Simplify height calculation.
-      winetest: Set correct WINETEST_PLATFORM when running under Wine.
-      user32: Fix a test failure when running under Windows 2003.
+Erich Hoover (1):
+      wined3d: Allow SetCursorProperties on existing cursor.
 
-Eric Pouech (30):
-      dbghelp: MiniDumpWriteDump called from exception handler.
-      dbghelp: Added helper to define the module's name.
-      dbghelp: Added an ANSI copy of the module name (useful for next patches).
-      dbghelp: Rewrote the loaded modules enumeration so that Unicode version is the core.
-      dbghelp: Make the module info functions ready for the Unicode move.
-      dbghelp: Prepare module loading functions to be switched to Unicode module storage.
-      dbghelp: .gnu_link support: rewrote helper functions for better later unicodification.
-      dbghelp: Now storing module information in Unicode form.
-      dbghelp: Implemented FindExecutableImage[W].
-      dbghelp: Move PE module loading to Unicode.
-      dbghelp: Moved ELF module loading interfaces to Unicode.
-      dbghelp: Added module_get_type_by_name in Unicode form and keep the ANSI form for compatibility.
-      dbghelp: Implemented SymMatchFileNameW.
-      dbghelp: Implemented EnumDirTreeW.
-      dbghelp: Implemented SearchTreeForFileW.
-      dbghelp: Implemented SymFindFileInPathW.
-      dbghelp: Get rid of temporary module_get_type_by_nameA.
-      dbghelp: Moved the internals for registered callback to Unicode.
-      dbghelp: A few fixes related to Unicode translation.
-      winedbg: Some enhancements by using Unicode flavors.
-      dbghelp: Now storing module internal info for minidumps in Unicode.
-      dbghelp: Make elf_enum_modules a Unicode function.
-      dbghelp: Move elf_fetch_file_info to Unicode.
-      dbghelp: Now moving the ELF loading code to Unicode.
-      dbghelp: Added helper to map a Unicode file.
-      dbghelp: Now load the .gnu_debuglink file using Unicode search paths.
-      dbghelp: Merge the A/W of elf_map_file into a single one.
-      dbghelp: Rewrote the ELF section mapper for better data encapsulation.
-      dbghelp: Allow to add an alternate file_map for an ELF file (where to look for its debug information).
-      dbghelp: Handle the .gnu_debuglink files with the newly added alternate mechanism.
+Fabian Bieler (6):
+      wined3d: Height of rectangle is bottom - top, not vice versa.
+      wined3d: Set wrapmode for cubemags to clamp regardless of the sampler state.
+      wined3d: Implemented signed texture formats via NV_TEXTURE_SHADER.
+      kernel32: GlobalMemoryStatusEx: memory usage reported only reflects physical memory.
+      kernel32: GlobalMemoryStatusEx: return the size of physical memory + swapsize in ullTotalPageFile/ullAvailPageFile.
+      kernel32: GlobalMemoryStatusEx: always report at least 1 byte of virtual memory even if none is available.
 
-Fabian Bieler (1):
-      user32: Do not call NULL message callback.
+Farshad Agah (3):
+      comctl32: monthcal: Reject out of range dates in MCM_SETCURSEL.
+      comctl32: monthcal message sequence test cases.
+      comctl32: monthcal: Correct the return value in MCM_SETFIRSTDAYOFWEEK.
 
-Felix Nawothnig (2):
-      comctl32: Add listview WM_PAINT message sequence tests.
-      comctl32: Update header window in listview WM_PAINT handler.
+Felix Nawothnig (8):
+      comctl32: Add a failing custom draw related test.
+      comctl32: Remove clrTextBkDefault member from LISTVIEW_INFO and fix (clrTextBk == CLR_DEFAULT) handling for custom drawing.
+      comctl32: Fix my last patch.
+      comctl32: Fix a typo.
+      comctl32: Implement LVS_EX_DOUBLEBUFFER.
+      gdi32: Add PS_ALTERNATE tests.
+      comctl32: Layout and redraw on TCM_SETIMAGELIST.
+      comctl32: Fix visual glitches with TVS_HASLINES.
 
-Francois Gouget (21):
-      advapi32: Update win32.api to fix the winapi_check warnings.
-      ole32: Better match the PSDK types and fix the winapi_check warnings.
-      winapi_check: Update win32.api to fix the winapi_check warnings.
-      winapi_check: Fix handling of the 'longlong' arguments.
-      winapi: Remove useless 'if (0)' statements.
-      winapi: Update and simplify file_skip() to match the current sources.
-      winapi_check: Clarify a pair of error messages.
-      winapi_check: We no longer have dlls in nested sub-directories.
-      winapi_check: gdi32.dll and gdi.exe have some extra sources in subdirectories.
-      wininet: Move a bunch of misplaced API documentation.
-      wininet/tests: Dynamically load some functions so the test runs on Windows 98.
-      wininet/tests: Tell the user which ftp server we're using for the tests so he can try to connect to it manually in case of trouble.
-      Assorted spelling fixes.
-      wininet/tests: Fix some tests so they succeed on Windows 98.
-      wine.inf: Update the timezone information.
-      Use the SW_XXX constants when calling ShowWindow().
-      wine.inf: Fix the 'Pacific Standard Time' display name to match the CLDR.
-      winex11.drv: Catch and report screen resolution change errors.
-      user32/tests: Fix the ChangeDisplaySettingsEx() test so it succeeds on NT4.
-      ddraw/tests: There is no unnamed union in D3DLIGHT7.
+Francois Gouget (17):
       ddraw/tests: Fix compilation on systems that don't support nameless unions.
+      cmd: Fix compilation on systems that don't support nameless unions.
+      oleview: Fix compilation on systems that don't support nameless unions.
+      cmd: Remove unneeded NONAMELESS* defines and ifdefs.
+      dplayx/tests: Add missing '\n' to ok() call.
+      dplayx/tests: Fix compilation on systems that don't support nameless unions.
+      Assorted spelling fixes.
+      dbghelp: Check file handles against INVALID_HANDLE_VALUE, not NULL.
+      rpcrt4: Fix a file handle leak in RPCRT4_RPCSSOnDemandCall().
+      wininet: Check file handles against INVALID_HANDLE_VALUE, not NULL.
+      wininet: Fix a couple of reversed checks that could result in leaked socket handles.
+      ws2_32: Replace a few -1 literals with SOCKET_ERROR.
+      ws2_32: Fix an int/long mismatch in a trace.
+      rpcss: Fix a file handle leak in RPCSS_BecomePipeServer().
+      cmd: Fix compilation on systems that don't support nameless unions.
+      comctl32/tests: Add missing '\n's in ok() calls.
+      wined3d: Remove space before '\n' in trace.
 
-H. Verbeet (6):
-      d3d9: Free the vertex declaration elements.
-      wined3d: Fix matching WINED3DDECLUSAGE_POSITION against WINED3DDECLUSAGE_POSITIONT.
-      wined3d: Boolean constants use up only a single uniform each.
-      wined3d: Add some hash table code.
-      wined3d: Store GLSL programs in a hash table rather than a linked list.
-      wined3d: Store multiple constant indices per list entry.
+George Gov (1):
+      comctl32: Add some listview message tests.
 
-Hans Leidekker (12):
-      kernel32: Add a stub implementation for FindFirstVolumeMountPoint{A, W}.
-      setupapi: Add stub implementations for SetupDiGetINFClass and SetupSetSourceList.
-      usp10: Implement ScriptGetLogicalWidths.
-      snmpapi: Add a missing memcpy.
-      netapi32: Add a stub implementation for NetShareDel. Improve the stub for NetUserGetLocalGroups.
-      msxml3: Stub out some more getters and setters of IXMLDOMDocument.
-      wininet: Don't discard the extra info part of a URL in InternetOpenUrl.
-      userenv: Implement ExpandEnvironmentStringsForUser{A,W}.
-      setupapi: Implement SetupCopyOEMInf{A,W}.
-      setupapi: Always return an empty list from SetupDiGetClassDevs.
-      ws2_32: Handle NULL argument in inet_addr.
-      gdi32: Implement GetFontUnicodeRanges.
+Gerald Pfeifer (1):
+      cabinet: Simplify code in fdi_decomp().
 
-Huw Davies (6):
-      oleaut32: Fix a TypeAttr leak.
-      msxml3: Convert the domdoc object to use the IXMLDOMDocument2 interface.
-      msxml3: Register schema cache classes.
-      msxml3: Add a schema cache object.
-      msxml3: Implement {get,putref}_schemas.
-      wineps.drv: Many MacOSX generated ppd files don't include a *ColorDevice line. Treat these as if they were colour.
+H. Verbeet (19):
+      wined3d: Properly check the clipplane index against the limit.
+      wined3d: The texldl instruction takes 3 arguments.
+      wined3d: gl_FogFragCoord is a scalar.
+      wined3d: Fix a typo.
+      wined3d: Remove broken software shaders.
+      d3d9: Add a mova rounding test.
+      d3d8: Save the d3d8 vertex declaration.
+      d3d8: Implement IDirect3DDevice8_GetVertexShaderDeclaration.
+      wined3d: Fix IWineD3DPixelShader_GetFunction / IWineD3DVertexShader_GetFunction.
+      d3d8: Add tests for GetVertexShaderDeclaration, GetVertexShaderFunction and GetPixelShaderFunction.
+      wined3d: Correct various texture limits checks.
+      wined3d: 11 space indent is ugly.
+      wined3d: Remove FVF related fields from IWineD3DVertexDeclaration.
+      wined3d: Disable vertex shaders when transformed vertices are used.
+      wined3d: Remove some redundant checks in the vertexdeclaration() state handler.
+      wined3d: Remove a redundant check in handleStreams().
+      wined3d: Remove some redundant code in IWineD3DVertexBufferImpl_FindDecl().
+      d3d9: Add a cubemap wrapping test.
+      d3d9: Add a LockRect test for DXTn formats.
 
-Jacek Caban (42):
-      shdocvw: Fix module ref counting.
-      itss: Fix opening streams with back slashes.
-      itss: Fix handling URLs with back slashes and escaped URLs.
-      itss: Added test of paths with back slashes and escaped URLs.
-      itss: Added IInternetProtocolInfo interface stub implementation.
-      itss: Added ParseUrl implementation.
-      itss: Added CombineUrl implementation.
-      urlmon: Check if protocol object implements IInternetProtocolInfo interface.
-      hhctrl.ocx: Merge chm.h and webbrowser.h to hhctrl.h.
-      hhctrl.ocx: Declare strdupAtoW in hhctrl.h and use it instead of duplicated *ANSIToUnicode.
-      hhctrl.ocx: Move DllMain to hhctrl.c.
-      hhctrl.ocx: Use wrappers of memory allocation functions.
-      hhctrl.ocx: Rewrite reading strings from #STRINGS section.
-      hhctrl.ocx: Use hhctrl.ocx's HINSTANCE.
-      hhctrl.ocx: Move HH_OpenCHM implementation to HH_Open.
-      hhctrl.ocx: Handle memory allocation in OpenCHM and CloseCHM.
-      hhctrl.ocx: Added beginning #SYSTEM parsing code.
-      hhctrl.ocx: Move hhctrl_hinstance to hhctrl.h.
-      hhctrl.ocx: Store whole HH_WINTYPEW struct in HHInfo, not its pointer.
-      hhctrl.ocx: Merge WBInfo to HHInfo.
-      hhctrl.ocx: Fixed releasing web browser object.
-      hhctrl.ocx: Move more code from doWinMain.
-      hhctrl.ocx: Move doWinMain to hhctrl.c.
-      hhctrl.ocx: Remove redundant casts.
-      hhctrl.ocx: Added DllGetClassObject stub implementation.
-      hhctrl.ocx: Clean up Help_WndProc.
-      hhctrl.ocx: Release HHInfo on WM_CLOSE message.
-      hhctrl.ocx: Don't use doWinMain in HtmlHelpW.
-      hhctrl.ocx: Call PostQuitMessage only in hh.exe process.
-      hhctrl.ocx: Use HtmlHelpA in doWinMain.
-      hhctrl.ocx: Added HH_HELP_CONTEXT implementation.
-      hhctrl.ocx: Resize tab control in Child's WM_SIZE handler.
-      hhctrl.ocx: Added code for handling tabs.
-      hhctrl.ocx: Added content tab window.
-      hhctrl.ocx: Added hhc parser.
-      hhctrl.ocx: Fill content tree.
-      hhctrl.ocx: Added handling of topic selection.
-      shdocvw: Remove no longer used resources.
-      hhctrl.ocx: Store full chm paths to solve problems with relative paths.
-      urlmon: Fix FindMimeFromData tests on IE7.
-      mshtml: Always read data in OnDataAvailable.
-      mshtml: Added more tests.
+Hagop Hagopian (1):
+      comctl32: Adding getter-setter tests for tab control.
 
-James Hawkins (6):
-      msi: Cleanup the dialog event subscriptions when destroying the dialog.
-      msi: Free the custom action data after the thread function executes.
-      msi: Check for a NULL text entry, as it can be blank in the VolumeCostList control.
-      msi: Add tests for using markers in SELECT clauses.
-      msi: Overwrite an existing read-only file when copying the install file.
-      comctl32: Add message ids to allow multi-window test sequences.
+Hans Leidekker (2):
+      mscms: Fix compilation with the latest lcms header.
+      wininet: Fix buffer size calculation in INTERNET_InternetOpenUrlW.
 
-Jan Zerebecki (6):
-      cmd: Remove redundant const.
-      winex11.drv: Set the refresh rate for NoRes to 60 instead of 0.
-      wined3d: Make CreateFakeGLContext thread safe.
-      wined3d: replace #ifdef with if() for DEBUG_SINGLE_MODE.
-      comctl32: Add DebugInfo to critical section.
-      winex11.drv: Change virtual desktop refresh rate from 0 to 60.
+Huw Davies (5):
+      wineps.drv: Convert the page size list to a standard Wine list.
+      wineps.drv: Remove paper sizes that lack either a PageSize or a PaperDimension entry in the PPD.
+      rpcrt4: Tests that show that the allocation rules for unmarshaling a conformant array are the same as those for a simple structure.
+      ole32: Only retrieve posted and paint messages in an STA message loop.
+      kernel32: Fix GetPrivateProfileSectionNamesA when the file does not exist.
 
-Jason Edmeades (24):
-      cmd.exe: Add "if defined ..." support.
-      cmd.exe: Support exit [/b] returncode.
-      cmd.exe: Add support for %*.
-      cmd.exe: Support :EOF in goto labels.
-      cmd.exe: Add ~ modifiers for %0-9.
-      cmd.exe: Support PATH= as a valid command.
-      cmd.exe: Support return code if fail to launch program.
-      cmd.exe: Add support for %ERRORLEVEL% in both batch and cmd line.
-      cmd.exe: Add support for env vars DATE, TIME, CD.
-      cmd.exe: Add pushd and popd.
-      cmd.exe: Add support for call :label and goto :label.
-      cmd.exe: Unify parsing and expansion.
-      cmd.exe: Add %random% special name support.
-      cmd.exe: Add special SET modifiers.
-      cmd.exe: Allow special named env vars to be modified.
-      cmd.exe: Locate programs more correctly.
-      cmd.exe: Add rd /s support.
-      cmd.exe: Make 'set t' show all vars starting with 't'.
-      cmd.exe: Add prompt for rd /s.
-      cmd.exe: Prompt during del *.* and del *.
-      cmd.exe: Support del /p.
-      cmd.exe: Support del /f.
-      cmd.exe: Support del /a[:].
-      cmd.exe: Fix parameter parsing returns.
+Hwang YunSong(황윤성) (5):
+      regedit: Updated Korean resource.
+      cmd: Updated Korean resource.
+      wordpad: Updated Korean resource.
+      cmd: Updated Korean Resource.
+      oledlg: Updated Korean resource.
 
-Jeff Latimer (4):
-      ntdll: Framework for NtCreateMailslotFile tests.
-      ntdll: Check for passing a NULL handle to NtCreateMailslotFile and add a test.
-      ntdll: Set default timeout in NtCreateMailslotFile if parameter is NULL.
-      ntdll: Test object attributes in NtCreateMailslotFile.
+Jacek Caban (19):
+      hhctrl.ocx: Correctly handle URLs in SetChmPath.
+      hhctrl.ocx: Try to build URL with full path if navigation to URL fails.
+      atl: Compare file handle to INVALID_HANDLE_VALUE to handle errors.
+      mshtml: Improve ReadSegments implementation.
+      mshtml: Remove false FIXME.
+      mshtml: Release IOleCommandTarget in IPersistMoniker::Load.
+      shdocvw: Move offline and silent variables to DocHost.
+      shdocvw: Added DISPID_AMBIENT_OFFLINEIFNOTCONNECTED and DISPID_AMBIENT_SILENT implementation in DocHost::Invoke.
+      shdocvw: Always set hostui to NULL in SetClientsite.
+      shdocvw: Added mode dispids implementation in DocHost::Invoke.
+      shdocvw: Release callback and bindctx in bind_url_to_object.
+      shdocvw: Move frame variable to DocHost.
+      shdocvw: Call EnableModeless and SetStatusText in navigate.
+      shdocvw: Added Navigate2 test.
+      mshtml: Use get_client_disp_property in SetClientSite to get silent property.
+      itss: Ignore trailing slash in IStorage::OpenStream.
+      itss: Ignore trailing slash in ITSProtocol::Start.
+      itss: Use object_name in FindMimeFromData.
+      itss: Added test of URLs with trailing slash.
 
-Kanit Therdsteerasukdi (1):
-      comctl32: datetime: Initial tests for date and time picker.
+Jan Zerebecki (31):
+      dinput: Add DebugInfo to critical sections.
+      dmime: Add DebugInfo to critical sections.
+      dplayx: Add DebugInfo to critical sections.
+      kernel32: Add DebugInfo to critical sections.
+      itss: Add DebugInfo to critical sections.
+      crypt32: Add DebugInfo to critical sections.
+      mapi32: Add DebugInfo to critical sections.
+      msvcrt: Add DebugInfo to critical sections.
+      ntdll: Add DebugInfo to critical sections.
+      netapi32: Add DebugInfo to critical sections.
+      mciavi32: Add DebugInfo to critical sections.
+      oleaut32: Add DebugInfo to critical sections.
+      riched20: Add DebugInfo to critical sections.
+      qcap: Add DebugInfo to critical sections.
+      quartz: Add DebugInfo to critical sections.
+      secur32: Add DebugInfo to critical sections.
+      wintab32: Add DebugInfo to critical sections.
+      urlmon: Add DebugInfo to critical sections.
+      rsaenh: Add DebugInfo to critical sections.
+      winealsa.drv: Conform critical section DebugInfo names.
+      dsound: Conform critical section DebugInfo names.
+      winex11.drv: Add DebugInfo to critical sections.
+      wineesd.drv: Add DebugInfo to critical sections.
+      wineaudioio.drv: Add DebugInfo to critical sections.
+      wineoss.drv: Add DebugInfo to critical sections.
+      winearts.drv: Add DebugInfo to critical sections.
+      winmm: Add DebugInfo to critical sections.
+      dmloader: Add DebugInfo to critical sections.
+      winenas.drv: Add DebugInfo to critical sections.
+      ole32: Add DebugInfo to critical sections.
+      msvcrt: Remove unused variable.
 
-Ken Thomases (4):
-      winex11.drv: Pass correct coords into X11DRV_InternalFloodFill.
-      winspool.drv: Use exec() and _exit() instead of system() and exit().
-      gdi32: Use exec() and _exit() instead of system() and exit().
-      wininet: Use "ping -c 1" instead of "ping -w 1" for InternetCheckConnection.
+Jason Edmeades (34):
+      cmd.exe: Support rd dir1 dir2.
+      cmd.exe: Additional PROMPT options.
+      cmd.exe: PROMPT option to show pushd levels.
+      cmd.exe: Add ASSOC command.
+      cmd.exe: Add support for del file1 file2.
+      cmd.exe: Fix stdio redirects.
+      kernel32/tests: Show wrong behaviour with current directory.
+      cmd.exe: Add COLOR command.
+      cmd.exe: Add cmd.exe /T option.
+      cmd.exe: Support default colours for wineconsole.
+      cmd.exe: Support unquoted directories in CD command.
+      cmd.exe: Wildcards in directory names for CD.
+      cmd.exe: Set errorlevel if CD fails.
+      cmd.exe: Support PUSHD with wildcards.
+      cmd.exe: Prevent options to pushd.
+      cmd.exe: Support DATE /T option.
+      cmd.exe: Support TIME /T option.
+      cmd.exe: Add support for working directories per drive.
+      cmd.exe: Hide new internal vars during SET.
+      cmd.exe: setlocal and endlocal should preserve drive and directory.
+      cmd.exe: Add support for CD /D.
+      cmd.exe: Support SHIFT /n option.
+      cmd.exe: Add support for FTYPE.
+      cmd.exe: Save initial working directory.
+      cmd.exe: Add support for stderr redirection to a file.
+      cmd.exe: Add TYPE multiple file support.
+      cmd.exe: Add 2>&1 and 1>&2 support.
+      cmd.exe: Add SET /P support.
+      cmd.exe: Make SET have correct errorlevel.
+      cmd.exe: Add dir /L support.
+      cmd.exe: Add DIR /T support.
+      cmd.exe: Add DIR /X support.
+      cmd.exe: Add dir /X support (sort of...).
+      cmd.exe: Add DIR /O ordering support.
 
-Kovács András (1):
-      winuser.h: Declare some raw input related structures.
+Jeremy White (1):
+      sane.ds: Dynamically load libsane.so.
 
-Lei Zhang (6):
-      comctl32: Move up-down msg seq test functions into msg.c.
-      regedit: Correctly parse key name containing ']'.
-      regedit: Updated English resources to remove shortcut conflicts.
-      regedit: Removed dead code from regproc.c.
-      regedit: Allow entering - for a key in a .reg file to delete that key.
-      regedit: Correctly parse key name containing ']' when deleting/exporting.
+Joris Huizer (3):
+      winebuild: sign-compare fixes.
+      preloader: sign-compare fix.
+      winedump: sign-compare fixes.
 
-Maarten Lankhorst (4):
-      dsound: Add some comments from earlier patch that makes code a little better understandable.
-      dsound: Use an inline for ring buffer pointer difference calculation.
-      winealsa: Fix typo.
-      winealsa: Remove usage of uninitialised variable.
+Juan Lang (3):
+      ntdll: Implement NtAllocateLocallyUniqueId with server call.
+      user32: Fix a comment.
+      crypt32: Set ppSignerSig to NULL in case caller doesn't check return value.
 
-Marcus Meissner (10):
-      winex11.drv: Small fixes.
-      winedump: Added a missing free().
-      comctl32: Fixed new header test.
-      dbghelp: Return when not finding the name.
-      shell32/tests: Fixed potential overflow.
-      shlwapi: Fix size passed to MultiByteToWideChar.
-      configure: Generate stand alone AC_CONFIG_FILES() lines.
-      uxtheme: Fixed wrong index in draw.c.
-      mlang/tests: Protect from 1 byte static buffer overflow.
-      netapi32: Fixed array overflow (spotted by Coverity).
+Kai Blin (4):
+      secur32: Use skip for skipped tests, reduce indentation.
+      dplayx: Use skip and fix indentation.
+      dplayx: Remove unneeded test, fix compilation on msvc++.
+      secur32: Check for actual return value on invalid QuerySecurityPackageInfo call.
 
-Mikołaj Zalewski (10):
-      comctl32: rebar: Rewrite the layout code.
-      comctl32: rebar: Test and fix the WM_SIZE handler and REBAR_ForceResize.
-      comctl32: rebar: Store the coordinates of infoPtr->calcSize swapped for CCS_VERT.
-      comctl32: rebar: Store the oldSize as a local variable.
-      comctl32: listview: Set the style in WM_CREATE.
-      comctl32: rebar: Test the RBN_HEIGHTCHANGE notify and do some fixes.
-      comctl32: rebar: WM_SETFONT should send a RBN_HEIGHTCHANGE if necessary.
-      comctl32: rebar: Remove the not needed BANDS_NEED_LAYOUT flag.
-      comctl32: rebar tests: Support different window border width.
-      comctl32: header tests: Support different window border width.
+Kanit Therdsteerasukdi (4):
+      comctl32: datetime: Tests for events for date and time picker added.
+      comctl32: datetime: Reject out of range dates in DTM_SETSYSTEMTIME.
+      comctl32: datetime: Return 1 in DTM_SETFORMAT when successful.
+      comctl32: datetime: Test for out of range dates in DTM_SETSYSTEMTIME only when flag=GDT_VALID.
 
-Misha Koshelev (8):
-      oleview: Respect size of array ITypeInfo_GetNames returns.
-      oleview: Account for unnamed right hand side parameter of propput.
-      oleview: Report default values.
-      oleview: Properly support enumerations.
-      oleview: Add forgotten newlines to forward declarations.
-      oleview: Make optional flag "optional" not "opt.".
-      oleview: Add safearray type.
-      oleview: Mimick native treeview display of enumerations.
+Keith Stevens (4):
+      comctl32/tests: trackbar: Reorganize the getter and setter tests into functions.
+      comctl32/tests: trackbar: Test message sequences.
+      comctl32: trackbar: Correctly set lSetMin and lSelMax.
+      comctl32: trackbar: Return the correct number of tics for TBM_GETNUMTICS.
 
-Paul Vriens (7):
-      wininet/ftp.c: Fix some returned error codes.
-      wininet/ftp.c: Fix some returned error codes.
-      wininet/ftp.c: Fix some typos.
-      wininet/tests: Add a few more tests.
-      wininet/tests: Add another test.
-      wininet/ftp: Let CreateFile deal with last error.
+Ken Thomases (1):
+      shell32: Avoid W->A conversion in RenderHDROP.
+
+Konstantin Kondratyuk (1):
+      kernel32: Allow to execute .cmd files.
+
+Leslie Choong (2):
+      comctl32: updown: Expect macro and spelling errors.
+      comctl32: updown: Added message sequencing tests.
+
+Louis Lenders (1):
+      winex11.drv: Small spelling fix.
+
+Luis Carlos Busquets Pérez (1):
+      dpnaddr: Added dll that just forwards to dpnet.
+
+Michael Stefaniuc (7):
+      hhctrl.ocx: Fix a format warning.
+      snmpapi: Fix printf format warnings.
+      comctl32: Remove redundant NULL checks before Free() (found by Smatch).
+      janitorial: Remove two redundant checks for NULL.
+      winecfg: Initial Romanian translation.
+      winedos: Check a file handle against INVALID_HANDLE_VALUE, not 0.
+      winemine: Add Romanian translation.
+
+Mike Schaadt (1):
+      snmpapi: Changed %llu to %x%08lx.
+
+Mikołaj Zalewski (11):
+      kernel32: Fix LANGID for Korean resource.
+      oledlg: Fix Korean resource name.
+      cmd: Update Polish translation.
+      start: Add Polish translation.
+      shell32: Update Polish translation.
+      credui: Move language-dependent resources to credui_En.rc.
+      credui: Add Polish translation.
+      comctl32: listview: Compute the state icon rect in GetItemMetrics.
+      wordpad: Update Polish translation.
+      localspl: Add Polish translation.
+      comctl32: Register all the controls in DllMain.
+
+Paul Vriens (24):
       advapi32/tests: Make use of skip.
+      shell32/tests: Rewording and cleanup.
+      msi/tests: Properly cleanup after each test.
+      programs/winetest: Raise fileversion.
+      mapi32/tests: Don't run tests if functions are not implemented.
+      advapi32/tests: Don't use FreeLibrary with GetModuleHandle.
+      advapi32/tests: Move skip to a more appropriate place.
+      gdi32/tests: Make sure we can run on win9x and NT again.
+      gdi32/tests: Use skip where appropriate.
+      winspool.drv/tests: Remove tempfile after running the tests.
+      localspl/tests: Remove tempfile after running the tests.
+      msvcrt/tests: Properly remove temporary directory.
+      dnsapi/tests: Load dnsapi dynamically and use skip.
+      d3d8/tests: Use skip as is done in the other tests.
+      d3d9/tests: Use skip as is done in the other tests.
+      kernel32/tests: Use skip.
+      advapi32/tests: Prepare for more tests and use skip.
+      crypt32/tests: Use GetModuleHandle and skip.
+      advapi32/tests: Use GetModuleHandle and skip.
+      advapi32/tests: Use GetModuleHandle and skip.
+      advapi32/tests: No need to check return value of GetModuleHandle.
+      crypt32/tests: No need to check return value of GetModuleHandle.
+      advapi32/tests: RegQueryValueW is not always implemented.
+      netapi32/tests: Use GetModuleHandle and skip.
 
-Peter Oberndorfer (2):
-      ntdll/tests: Add a debugger around the exceptions.
-      ntdll: Extend debugger tests.
+Peter Beutner (2):
+      ntdll: Testcase for handling SIMD exceptions.
+      ntdll: Handle SIMD exceptions.
 
-Pierre d'Herbemont (1):
-      winex11.drv: Check the valid rects after the set_window_pos wineserver call.
+Peter Oberndorfer (5):
+      ntdll: Make exception test not hang when creating process fails.
+      winedbg: Do not write over const char * parameter.
+      dbghelp: Initialize the elf_section_map in case of failures in elf_find_section.
+      dbghelp: Fix up load_offset to work in case the load offset is different for real binary and debug link file.
+      dbghelp: Use elf load_offset passed to dwarf2_parse to relocate addresses.
 
-Rob Shearman (25):
-      include: Add macro for ListView_GetOrigin to commctrl.h.
-      comctl32: Don't free user32 objects with a gdi32 function in imagelist test.
-      ole32: Make an error message more useful by printing the returned error code.
-      kernel32: Don't run the CreateRemoteThread tests if the child process isn't mapped at the same address as the parent process.
-      oleaut32: Fix IFont::AddRefHFont and IFont::ReleaseRefHFont.
-      oleaut32: Re-arrange the position of functions and vtables in olefont.c to avoid forward-declarations.
-      rpcrt4: Add documentation for the I_Rpc* RPC message functions.
-      rpcrt4: Fix a memory leak in I_RpcSendReceive caused by I_RpcReceive overwriting pMsg->Buffer.
-      server: Check object's security when creating handles.
-      server: Add get_token_impersonation_level server call for retrieving the impersonation level from a token.
-      dbghelp: ImageName is usually blank, so print LoadedImageName in elf_load_debug_info_map.
-      wininet: Fix the case of partial SSL reads from the peek buffer.
-      kernel32: Fix an off-by-one error in GetComputerNameExA/W.
-      netapi32: Add a stub for NetUserChangePassword.
-      kernel32: Fix crash in dns_gethostbyname.
-      ole32: Add tests for default handler creation and handler marshaling.
-      ole32: Use IsEqualIID instead of memcmp in HGLOBALLockBytesImpl_QueryInterface.
-      libwine: Eliminate duplicate function implementations in string.c
-      ole32: The stream returned by StgStreamImpl_Clone should have one reference, so call AddRef before returning.
-      widl: Print EXPR_NUM expresssions as unsigned to avoid printing an extra negative sign when lval is large.
-      user32: Send WM_GETTEXT to get the window caption when drawing the nonclient caption bar.
-      rpcrt4: Set TCP_NODELAY on the socket for the ncacn_ip_tcp transport to reduce latency.
-      secur32: SealMessage and UnsealMessage are aliases of EncryptMessage and DecryptMessage respectively.
-      schannel: Add new schannel dll that mostly forwards to secur32.
-      rpcrt4: Use IPPROTO_TCP for SOL_TCP if SOL_TCP isn't defined.
+Rob Shearman (44):
+      msi: Set the Date, Time and VersionDatabase properties.
+      msi: Rewrite the second loop in ACTION_FinishCustomActions so that it always terminates.
+      msi: Set the PackageCode property based on the "revision number" data in the summary information.
+      credui: The pfSave parameter of CredUIPromptForCredentials is optional.
+      wininet: Always make copies of strings passed to INTERNET_SendCallback.
+      kernel32: Implement CallNamedPipeW.
+      credui: Fix a missing ":" in the credential dialog domain name text box.
+      ole32: OleLoad should call CoCreateInstance with CLSCTX_INPROC_SERVER as well as CLSCTX_INPROC_HANDLER.
+      ole32: Compare the class contexts in COM_GetRegisteredClassObject.
+      secur32: NTLM - don't copy more data from User, Domain and Password
+      secur32: NTLM - don't bother nul terminating the password string as nothing relies on it being nul terminated.
+      secur32: NTLM's AcquireCredentialHandleA/W should accept domains and usernames with lengths of 0.
+      server: A general solution for handling MAXIMUM_ALLOWED access right has been implemented so remove the workarounds.
+      ole32: Fix a use-after-free of the file moniker in the running object table tests.
+      ole32: Fix a failing CoUnmarshalInterface test on Windows.
+      ole32: Remove some unnecessary traces from the HeapUnknown implementation.
+      ole32: Add some tests for IBindCtx.
+      kernel32: Add tests for ImpersonateNamedPipeClient.
+      Maketest.rules.in: Make CROSSOBJS consistent with the equivalent OBJS rule in the toplevel Make.rules.in.
+      widl: Implement writing of SAFEARRAY type descriptions in typelibs.
+      ole32: CreateBindCtx should fail if reserved parameter is not zero.
+      ole32: Fix BindCtxImpl_GetBindOptions to return the correct locale and to not fail if the input size is too large.
+      ole32: Set output param to NULL in BindCtxImpl_EnumObjectParam.
+      oleaut32: TKIND_COCLASS parameters to Invoke'd functions should be converted into VT_DISPATCH instead of VT_UNKNOWN.
+      ole32: Add more tests of IBindCtx functions.
+      ole32: Fix cbStruct handling in IBindCtx:GetBindOptions.
+      ole32: Fix return codes returned by IBindCtx::RegisterObjectBound and IBindCtx::RevokeObjectBound when used on NULL objects.
+      ole32: REGCLS_MULTIPLEUSE implies CLSCTX_INPROC_SERVER in CoRegisterClassObject.
+      ole32: Enable local server test and make it work with Win9x COM implementation.
+      ole32: Close the named pipe after revoking local server objects.
+      ole32: Add some tests for the flags input to CoRegisterClassObject.
+      ole32: Don't keep the local server named pipe open for a single-use object.
+      ole32: Make RegisteredClass list into a standard Wine list.
+      ole32: Implement CoAddRefServerProcess and CoReleaseServerProcess.
+      include: Add credential serialisation APIs to wincred.h.
+      ole32: Don't allocate an initial table for bind contexts.
+      ole32: OleCreate shouldn't pass CLSCTX_LOCAL_SERVER to CoCreateInstance.
+      ole32: OleCreate isn't a semi-stub any more, as it is tested in a range of cases and has no todos.
+      include: Add a definition for REGCLS_SURROGATE and add declarations for CoRegisterSurrogate and CoGetObjectContext.
+      rpcrt4: Unmarshal NULL OLE interfaces properly by handling the case of a 0 stream size.
+      user32: Add several more MsgWaitForMultipleObjects tests and split them out from the main message tests.
+      ole32: Print the contents of the IID input to OleLoad.
+      kernel32: Fix several failing GetComputerNameA/W tests on Windows.
+      advapi32: Fix a failing test on Windows caused by the existence of one SID that always has no associated account.
 
-Roderick Colenbrander (1):
-      opengl32: Add new extensions.
+Shanren Zhou (2):
+      comctl32: Header message sequence test cases.
+      comctl32: Added header message sequence test cases.
 
-Rok Mandeljc (1):
-      include/d3d9types.h: Remove Size from D3DVOLUME_DESC.
+Stefan Dösinger (16):
+      wined3d: Use the scissor test when clearing the full surface too.
+      wined3d: Adjust the rhw transformation for offscreen rendering.
+      wined3d: Adjust the rhw transformation for offscreen rendering.
+      wined3d: WINED3DFMT_U8V8 is signed.
+      wined3d: Store the number of aux buffers in the gl limits structure.
+      wined3d: Use an aux buffer as blitting helper if available.
+      wined3d: Clearing the depth stencil buffer fails without a depth stencil buffer.
+      wined3d: Disable depth stencil related states without a depth stencil buffer.
+      wined3d: Do not specify the viewport origin upside down when doing offscreen rendering.
+      wined3d: Remove IWineD3DSurface::SetPBufferState.
+      wined3d: Rework surface dirtification.
+      wined3d: Restore the index buffer when switching from UP to buffer drawing.
+      wined3d: Blit the offscreen texture into the drawable if needed.
+      wined3d: Account for offscreen rendering when setting up the clearing scissor rectangle.
+      wined3d: Blitting to offscreen target.
+      direct3d: Add a fixed function fog test.
 
-Samuel Lidén Borell (1):
-      comctl32: Use mask value in COMBOEX_GetItemA too.
-
-Stefan Dösinger (44):
-      wined3d: Remove an outdated TODO comment.
-      wined3d: Visual test framework.
-      wined3d: Lighting is calculated for vertices without normals.
-      ddraw: SetClipper refcounting fix.
-      ddraw: Fix a leak in a test.
-      ddraw: Creating surfaces with old interfaces doesn't addref.
-      ddraw: Test and fix IDirectDrawSurfaceX::GetDDInterface.
-      wined3d: Pretend to support event queries.
-      wined3d: Only scream about unsupported vertex blending when it is used.
-      wined3d: Activate a different context if the active render target is destroyed.
-      kernel32: Add a CheckRemoteDebuggerPresent stub.
-      wined3d: Check volume texture creation errors.
-      wined3d/d3d8: Move todo about sw vp usage to d3d8.
-      wined3d: Remove stream flags from GetStreamSource.
-      wined3d: Fix d3d8/9 style palettes.
-      wined3d: Remove IWineD3DDevice::EnumDisplayModes.
-      wined3d: Misc comment updates.
-      wined3d: No bounds checking is done on sampler / texture numbers.
-      wined3d: Move the scissor rectangle to the state table.
-      wined3d: Use VBOs for index buffers.
-      wined3d: With FVFs only one stream is used.
-      wined3d: Do not print the fixed / unfixed vertices warning with shaders.
-      wined3d: Light parameter fixes.
-      wined3d: Floating point shader constant setting.
-      wined3d: IWineD3DDevice::Clear fixes.
-      wined3d: Clean up sampler usage in UpdateSurface.
-      wined3d: Index buffer fixes.
-      wined3d: Use CopyRect / EqualRect.
-      wined3d: Remove dead code from drawprim.c.
-      wined3d: Do not use glMapBuffer in ProcessVertices.
-      wined3d: Make sure volumes have memory allocated.
-      wined3d: Index buffer creation adjustments.
-      winex11.drv: Ignore depth mismatch when using a virtual desktop.
-      wined3d: More Clear fixes.
-      wined3d: Support for using auxilliary buffers for offscreen rendering.
-      wined3d: Use GL_STATIC_DRAW_ARB instead of GL_STATIC_DRAW.
-      wined3d: Leave the fog state handler after disabling fog.
-      wined3d: Move clip planes to the state table.
-      wined3d: Clip planes with vertex shaders.
-      wined3d: Prepare only fixed function samplers for blit.
-      wined3d: Use the source surface's texture for writing the backup.
-      wined3d: Add GL_NV_fence defines and functions.
-      wined3d: Support event queries using GL_NV_fence.
-      wined3d: Support GL_APPLE_fence for event queries.
-
-Thomas Weidenmueller (1):
-      comctl32: Implement LM_GETIDEALSIZE for the syslink control.
+Stefan Huehner (3):
+      Change some functions arguments from () -> (void).
+      comctl32: rebar: Test the rebar style for RBBS_VARIABLEHEIGHT, not the passed in structure.
+      Mark several functions as static.
 
 Tomas Carnecky (1):
-      winex11.drv: Spring cleanup in X11DRV_setup_opengl_visual, and added one new visual config (with aux buffers).
-
-Vitaliy Margolen (4):
-      wineshelllink: Fix menu entries with double spaces in their names.
-      imagehlp: Forward already implemented functions to dbghelp.
-      wined3d: Use application provided fog range when fog is enabled.
-      ntdll: More error checking. Properly handle NULL ACLs.
-
-Vitaly Lipatov (1):
-      winspool: Constify some parameters in some functions.
+      dsound: Update prototypes for IDirectSoundBuffer::Lock/Unlock.
 
 --
 Alexandre Julliard
diff --git a/ChangeLog b/ChangeLog
index bbfc3b8..3302e4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1892 @@
+2007-03-16  Alexandre Julliard <julliard@winehq.org>
+
+	* programs/cmd/wcmdmain.c:
+	cmd: Fix a compiler warning.
+
+2007-03-16  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/netapi32/tests/ds.c:
+	netapi32/tests: Use GetModuleHandle and skip.
+
+2007-03-16  Michael Stefaniuc <mstefani@redhat.de>
+
+	* programs/winemine/Ro.rc, programs/winemine/rsrc.rc:
+	winemine: Add Romanian translation.
+
+2007-03-15  Keith Stevens <fozziethebeat@gmail.com>
+
+	* dlls/comctl32/tests/trackbar.c, dlls/comctl32/trackbar.c:
+	comctl32: trackbar: Return the correct number of tics for TBM_GETNUMTICS.
+
+	* dlls/comctl32/tests/trackbar.c, dlls/comctl32/trackbar.c:
+	comctl32: trackbar: Correctly set lSetMin and lSelMax.
+	Modify the behavior when the messages TBM_SETSEL, TBM_SETSELSTART, and
+	TBM_SETSELEND are sent and TBS_ENABLESELRANGE is not set.  When the
+	style TBS_ENABLESELRANGE is not set, Windows observed behavior is to
+	set the Selection Start and End values to 0, rather than leave them
+	unchanged.
+
+2007-03-16  Farshad Agah <f_agah@yahoo.com>
+
+	* dlls/comctl32/monthcal.c, dlls/comctl32/tests/monthcal.c:
+	comctl32: monthcal: Correct the return value in MCM_SETFIRSTDAYOFWEEK.
+
+2007-03-15  Alessandro Pignotti <alex.pigna@inventati.org>
+
+	* dlls/dplayx/dplay.c:
+	dplayx: DirectPlay should keep track of the user count.
+
+2007-03-15  Kanit Therdsteerasukdi <therdste@ucla.edu>
+
+	* dlls/comctl32/datetime.c:
+	comctl32: datetime: Test for out of range dates in DTM_SETSYSTEMTIME only
+	when flag=GDT_VALID.
+
+2007-03-15  Detlef Riekenberg <wine.dev@web.de>
+
+	* dlls/localspl/localmon.c:
+	localspl: Add a comment, why we do not implement AddPort for XcvDataPort.
+
+2007-03-15  Peter Oberndorfer <kumbayo84@arcor.de>
+
+	* dlls/dbghelp/dwarf.c:
+	dbghelp: Use elf load_offset passed to dwarf2_parse to relocate addresses.
+	This is needed, because symbol addresses in dwarf2 debug info are already
+	relocated.
+
+	* dlls/dbghelp/elf_module.c:
+	dbghelp: Fix up load_offset to work in case the load offset is different for
+	real binary and debug link file.
+
+	* dlls/dbghelp/elf_module.c:
+	dbghelp: Initialize the elf_section_map in case of failures in elf_find_section.
+	Make sidx signed so sidx < 0 comparisons work.
+	(most of the patch written by Eric Pouech)
+
+2007-03-16  Farshad Agah <f_agah@yahoo.com>
+
+	* dlls/comctl32/tests/monthcal.c:
+	comctl32: monthcal message sequence test cases.
+
+2007-03-16  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/advapi32/tests/registry.c:
+	advapi32/tests: RegQueryValueW is not always implemented.
+
+2007-03-16  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/advapi32/tests/security.c:
+	advapi32: Fix a failing test on Windows caused by the existence of one SID
+	that always has no associated account.
+
+	* dlls/kernel32/tests/environ.c:
+	kernel32: Fix several failing GetComputerNameA/W tests on Windows.
+
+2007-03-15  H. Verbeet <hverbeet@gmail.com>
+
+	* dlls/d3d9/tests/surface.c:
+	d3d9: Add a LockRect test for DXTn formats.
+
+	* dlls/d3d9/tests/visual.c:
+	d3d9: Add a cubemap wrapping test.
+
+2007-03-15  Detlef Riekenberg <wine.dev@web.de>
+
+	* dlls/localspl/tests/localmon.c:
+	localspl/tests: Check for Xcv-API only once.
+
+	* dlls/localspl/tests/localmon.c:
+	localspl/tests: Add tests for XcvDataPort_AddPort.
+
+2007-03-15  Keith Stevens <fozziethebeat@gmail.com>
+
+	* dlls/comctl32/tests/trackbar.c:
+	comctl32/tests: trackbar: Test message sequences.
+
+	* dlls/comctl32/tests/trackbar.c:
+	comctl32/tests: trackbar: Reorganize the getter and setter tests into functions.
+
+2007-03-14  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/cabinet/fdi.c:
+	cabinet: Simplify code in fdi_decomp().
+
+2007-03-15  Kanit Therdsteerasukdi <therdste@ucla.edu>
+
+	* dlls/comctl32/datetime.c, dlls/comctl32/tests/datetime.c:
+	comctl32: datetime: Return 1 in DTM_SETFORMAT when successful.
+
+2007-03-16  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/user32/mdi.c:
+	user32: Restore erroneously removed chunk of code.
+
+2007-03-15  Alexandre Julliard <julliard@winehq.org>
+
+	* configure, configure.ac:
+	configure: Remove no longer needed check for libsane.
+
+2007-03-15  Fabian Bieler <der.fabe@gmx.net>
+
+	* dlls/kernel32/heap.c:
+	kernel32: GlobalMemoryStatusEx: always report at least 1 byte of virtual memory
+	even if none is available.
+
+	* dlls/kernel32/heap.c:
+	kernel32: GlobalMemoryStatusEx: return the size of physical memory + swapsize
+	in ullTotalPageFile/ullAvailPageFile.
+
+	* dlls/kernel32/heap.c:
+	kernel32: GlobalMemoryStatusEx: memory usage reported only reflects physical
+	memory.
+
+2007-03-15  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/gdi32/font.c, dlls/gdi32/freetype.c, dlls/gdi32/tests/font.c:
+	gdi32: Add a GetTextMetrics test, make it pass under Wine.
+
+2007-03-15  Jan Zerebecki <jan.wine@zerebecki.de>
+
+	* dlls/msvcrt/tests/data.c:
+	msvcrt: Remove unused variable.
+
+2007-03-14  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/cabinet/cabinet.h, dlls/cabinet/cabinet_main.c, dlls/cabinet/fci.c,
+	  dlls/cabinet/fdi.c:
+	cabinet: Constify some variables.
+
+2007-03-14  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/d3d8/tests/visual.c, dlls/d3d9/tests/visual.c,
+	  dlls/ddraw/tests/visual.c, dlls/wined3d/state.c:
+	direct3d: Add a fixed function fog test.
+
+	* dlls/wined3d/device.c, dlls/wined3d/surface.c:
+	wined3d: Blitting to offscreen target.
+	Fix the NULL deref that occured when blitting to offscreen targets and
+	select the proper gl drawing buffer instead.
+
+2007-03-14  Mikołaj Zalewski <mikolaj@zalewski.pl>
+
+	* dlls/comctl32/commctrl.c:
+	comctl32: Register all the controls in DllMain.
+
+2007-03-14  Jeremy White <jwhite@codeweavers.com>
+
+	* configure, configure.ac, dlls/sane.ds/Makefile.in,
+	  dlls/sane.ds/ds_ctrl.c, dlls/sane.ds/ds_image.c,
+	  dlls/sane.ds/sane_i.h, dlls/sane.ds/sane_main.c, dlls/sane.ds/ui.c,
+	  include/config.h.in:
+	sane.ds: Dynamically load libsane.so.
+	This change was triggered because of a bug in libsane-hpaio.so, namely
+	that it relies on libsane.so being dlopen'd RTLD_GLOBAL so that
+	sanei_init_debug can be resolved.
+
+2007-03-14  Ken Thomases <ken@codeweavers.com>
+
+	* dlls/shell32/clipboard.c:
+	shell32: Avoid W->A conversion in RenderHDROP.
+
+2007-03-14  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/crypt32/tests/base64.c:
+	crypt32/tests: No need to check return value of GetModuleHandle.
+
+	* dlls/advapi32/tests/crypt_md4.c:
+	advapi32/tests: No need to check return value of GetModuleHandle.
+
+2007-03-13  Eric Pouech <eric.pouech@wanadoo.fr>
+
+	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/module.c, include/dbghelp.h:
+	dbghelp: Rewrote SymEnumerateModules with Unicode basis, and implemented
+	SymEnumerateModulesW64.
+
+2007-03-13  Leslie Choong <septikus@gmail.com>
+
+	* dlls/comctl32/tests/updown.c:
+	comctl32: updown: Added message sequencing tests.
+
+	* dlls/comctl32/tests/updown.c:
+	comctl32: updown: Expect macro and spelling errors.
+
+2007-03-14  Hwang YunSong(황윤성) <hys545@dreamwiz.com>
+
+	* dlls/oledlg/oledlg_Ko.rc:
+	oledlg: Updated Korean resource.
+
+	* programs/cmd/Ko.rc:
+	cmd: Updated Korean Resource.
+
+2007-03-14  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ole32/ole2.c:
+	ole32: Print the contents of the IID input to OleLoad.
+
+	* dlls/user32/tests/msg.c:
+	user32: Add several more MsgWaitForMultipleObjects tests and split them out
+	from the main message tests.
+
+	* dlls/rpcrt4/ndr_ole.c:
+	rpcrt4: Unmarshal NULL OLE interfaces properly by handling the case of a 0
+	stream size.
+
+	* include/objbase.h:
+	include: Add a definition for REGCLS_SURROGATE and add declarations for
+	CoRegisterSurrogate and CoGetObjectContext.
+
+2007-03-14  Huw Davies <huw@codeweavers.com>
+
+	* dlls/kernel32/profile.c, dlls/kernel32/tests/profile.c:
+	kernel32: Fix GetPrivateProfileSectionNamesA when the file does not exist.
+
+2007-03-14  Aric Stewart <aric@codeweavers.com>
+
+	* dlls/wineps.drv/driver.c:
+	wineps.drv: Values for DC_MINEXTENT and DC_MAXEXTENT are returned, not placed
+	in the data pointer.
+
+2007-03-14  Alexandre Julliard <julliard@winehq.org>
+
+	* libs/wine/casemap.c, libs/wine/compose.c, libs/wine/wctype.c:
+	libwine: Update the Unicode tables to version 5.0.1 of the standard.
+
+	* libs/wine/utf8.c:
+	libwine: Added support for Unicode surrogates in utf-8 conversions.
+	Also make the conversions more strict against invalid input data.
+
+	* dlls/kernel32/locale.c, dlls/ntdll/rtlstr.c, include/wine/unicode.h,
+	  libs/wine/utf8.c, tools/wrc/utils.c:
+	libwine: Pass flags to wine_utf8_wcstombs to allow supporting
+	WC_ERR_INVALID_CHARS.
+
+	* include/winnls.h:
+	winnls.h: Added some defines for Unicode surrogates.
+
+	* dlls/ntdll/thread.c:
+	ntdll: Fixed typo in previous patch, spotted by Ken Thomases.
+
+2007-03-12  Erich Hoover <ehoover@mines.edu>
+
+	* dlls/wined3d/device.c, dlls/wined3d/surface.c,
+	  dlls/wined3d/wined3d_private.h:
+	wined3d: Allow SetCursorProperties on existing cursor.
+
+2007-03-12  Kanit Therdsteerasukdi <therdste@cs.ucla.edu>
+
+	* dlls/comctl32/datetime.c, dlls/comctl32/tests/datetime.c:
+	comctl32: datetime: Reject out of range dates in DTM_SETSYSTEMTIME.
+
+2007-03-12  Louis Lenders <xerox_xerox2000@yahoo.co.uk>
+
+	* dlls/winex11.drv/dib_convert.c:
+	winex11.drv: Small spelling fix.
+
+2007-03-14  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/ntdll/thread.c:
+	ntdll: Add a wrapper to call the thread entry point for broken apps.
+
+	* dlls/msvcrt/data.c, dlls/msvcrt/tests/data.c:
+	msvcrt: _initterm doesn't return anything.
+
+2007-03-14  Francois Gouget <fgouget@free.fr>
+
+	* dlls/wined3d/drawprim.c:
+	wined3d: Remove space before '\n' in trace.
+
+	* dlls/comctl32/tests/listview.c, dlls/comctl32/tests/tab.c:
+	comctl32/tests: Add missing '\n's in ok() calls.
+
+2007-03-13  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/avifil32/extrachunk.c, dlls/avifil32/extrachunk.h:
+	avifil32: Constify some variables.
+
+2007-03-13  Jason Edmeades <us@edmeades.me.uk>
+
+	* programs/cmd/directory.c:
+	cmd.exe: Add DIR /O ordering support.
+
+	* programs/cmd/directory.c:
+	cmd.exe: Add dir /X support (sort of...).
+
+2007-03-14  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/ntdll/signal_i386.c, dlls/ntdll/tests/exception.c:
+	ntdll: Fixed some exception codes and parameters.
+
+	* dlls/ntdll/tests/exception.c:
+	ntdll/tests: Mask reserved bits before testing dr7.
+	Also some spelling fixes.
+
+	* dlls/ntdll/signal_i386.c:
+	ntdll: Changed some Solaris defines so that we can access the signal error code.
+
+2007-03-12  Felix Nawothnig <flexo@holycrap.org>
+
+	* dlls/comctl32/treeview.c:
+	comctl32: Fix visual glitches with TVS_HASLINES.
+
+	* dlls/comctl32/tab.c:
+	comctl32: Layout and redraw on TCM_SETIMAGELIST.
+
+	* dlls/gdi32/tests/pen.c:
+	gdi32: Add PS_ALTERNATE tests.
+
+2007-03-12  George Gov <ggov@ucla.edu>
+
+	* dlls/comctl32/tests/listview.c:
+	comctl32: Add some listview message tests.
+
+2007-03-13  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/quartz/memallocator.c:
+	quartz: Avoid asserting from used samples on allocator release.
+
+	* dlls/quartz/dsoundrender.c, dlls/quartz/parser.c,
+	  dlls/quartz/transform.c, dlls/quartz/videorenderer.c:
+	quartz: Force disconnect when a filter is fully released.
+
+	* dlls/quartz/acmwrapper.c:
+	quartz: Cleanup properly around error conditions and avoid a potential
+	infinite loop.
+
+2007-03-12  Mikołaj Zalewski <mikolaj@zalewski.pl>
+
+	* dlls/localspl/localspl.rc, dlls/localspl/spl_Pl.rc:
+	localspl: Add Polish translation.
+
+	* programs/wordpad/Pl.rc:
+	wordpad: Update Polish translation.
+
+	* dlls/comctl32/listview.c:
+	comctl32: listview: Compute the state icon rect in GetItemMetrics.
+
+2007-03-13  Alexandre Julliard <julliard@winehq.org>
+
+	* programs/oleview/typelib.c:
+	oleview: Use standard APIs in SaveIdl and avoid overflows.
+
+2007-03-13  Aric Stewart <aric@codeweavers.com>
+
+	* dlls/wineps.drv/driver.c:
+	wineps.drv: Check for correct value for end of list.
+
+2007-03-13  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/advapi32/tests/crypt_sha.c:
+	advapi32/tests: Use GetModuleHandle and skip.
+
+	* dlls/advapi32/tests/crypt_md4.c:
+	advapi32/tests: Use GetModuleHandle and skip.
+
+	* dlls/crypt32/tests/base64.c:
+	crypt32/tests: Use GetModuleHandle and skip.
+
+2007-03-13  Eric Pouech <eric.pouech@wanadoo.fr>
+
+	* dlls/dbghelp/dbghelp_private.h, dlls/dbghelp/module.c,
+	  dlls/dbghelp/pe_module.c:
+	dbghelp: Renamed pe_load_module (resp pe_load_module_from_pcs)
+	to pe_load_native_module (resp pe_load_builtin_module) to better describe
+	what those functions actually do.
+
+	* dlls/imagehlp/imagehlp.spec:
+	imagehlp: Added a few more forward definitions to dbghelp.
+
+	* dlls/dbghelp/dwarf.c, dlls/dbghelp/elf_module.c, dlls/dbghelp/module.c,
+	  dlls/dbghelp/msc.c, dlls/dbghelp/pe_module.c, dlls/dbghelp/symbol.c,
+	  dlls/dbghelp/type.c:
+	dbghelp: Get rid of module_name in all traces (using Unicode flavor).
+
+	* dlls/dbghelp/dbghelp_private.h, dlls/dbghelp/elf_module.c,
+	  dlls/dbghelp/module.c, dlls/dbghelp/pe_module.c,
+	  dlls/dbghelp/source.c, dlls/dbghelp/symbol.c:
+	dbghelp: Cleanups for module loading (lookups on module name and image name
+	are two different things)
+	- split up module_find_by_name in two different functions:
+	+ reused module_find_by_name which looks upon the module name
+	+ added module_is_already_loaded which looks upon the image name
+	- cleanup module loading using these functions (removed extra parameter
+	to pe_load_module_from_pcs)
+
+	* dlls/dbghelp/module.c:
+	dbghelp: Rewrote module_is_elf_container_loaded so that it no longer
+	uses the stored ModuleName (that the dbghelp's caller can override) but rather a
+	combination of base address and filename for the module.
+
+	* dlls/dbghelp/module.c:
+	dbghelp: Added helper to get the basename + extension from full filename.
+
+2007-03-13  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/itss/tests/protocol.c:
+	itss: Added test of URLs with trailing slash.
+
+	* dlls/itss/protocol.c:
+	itss: Use object_name in FindMimeFromData.
+
+	* dlls/itss/protocol.c:
+	itss: Ignore trailing slash in ITSProtocol::Start.
+
+	* dlls/itss/storage.c:
+	itss: Ignore trailing slash in IStorage::OpenStream.
+
+2007-03-12  Mikołaj Zalewski <mikolaj@zalewski.pl>
+
+	* dlls/credui/credui.rc, dlls/credui/credui_Pl.rc:
+	credui: Add Polish translation.
+
+	* dlls/credui/credui.rc, dlls/credui/credui_En.rc:
+	credui: Move language-dependent resources to credui_En.rc.
+
+	* dlls/shell32/shell32_Pl.rc:
+	shell32: Update Polish translation.
+
+	* programs/start/Pl.rc, programs/start/rsrc.rc:
+	start: Add Polish translation.
+
+	* programs/cmd/Pl.rc:
+	cmd: Update Polish translation.
+
+	* dlls/oledlg/oledlg_Ko.rc:
+	oledlg: Fix Korean resource name.
+
+	* dlls/kernel32/nls/winerr_kor.mc:
+	kernel32: Fix LANGID for Korean resource.
+
+2007-03-13  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ole32/ole2.c:
+	ole32: OleCreate isn't a semi-stub any more, as it is tested in a range of
+	cases and has no todos.
+
+	* dlls/ole32/ole2.c:
+	ole32: OleCreate shouldn't pass CLSCTX_LOCAL_SERVER to CoCreateInstance.
+
+	* dlls/ole32/bindctx.c:
+	ole32: Don't allocate an initial table for bind contexts.
+	Most users of bind contexts don't use bound objects or object params, so
+	don't create an initial table. Instead, create it on demand and use an
+	exponential algorithm for increasing the size of the table when full.
+
+	* include/wincred.h:
+	include: Add credential serialisation APIs to wincred.h.
+
+2007-03-13  Hans Leidekker <hans@it.vu.nl>
+
+	* dlls/wininet/internet.c:
+	wininet: Fix buffer size calculation in INTERNET_InternetOpenUrlW.
+	Spotted by Ron Yorston.
+
+	* dlls/mscms/mscms_priv.h:
+	mscms: Fix compilation with the latest lcms header.
+
+2007-03-13  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/msvcrt/except.c:
+	msvcrt: Improved _local_unwind2 implementation.
+	Thanks to Dmitry Timoshkov for a test case.
+
+2007-03-12  Stefan Huehner <stefan@huehner.org>
+
+	* dlls/browseui/tests/autocomplete.c, dlls/comctl32/tests/datetime.c,
+	  dlls/kernel32/tests/resource.c, dlls/msxml3/tests/schema.c,
+	  dlls/ntdll/tests/om.c, dlls/opengl32/wgl.c, dlls/shell32/clipboard.c,
+	  dlls/user32/tests/win.c, dlls/wined3d/device.c,
+	  dlls/wined3d/directx.c, dlls/wined3d/drawprim.c,
+	  dlls/wined3d/glsl_shader.c, dlls/wined3d/state.c,
+	  dlls/wined3d/surface.c, dlls/wined3d/utils.c,
+	  dlls/wineesd.drv/audio.c, dlls/winex11.drv/opengl.c,
+	  dlls/winspool.drv/info.c, programs/cmd/builtins.c,
+	  programs/oleview/details.c, programs/oleview/interface.c,
+	  programs/oleview/oleview.c, programs/oleview/pane.c,
+	  programs/oleview/tree.c, programs/oleview/typelib.c,
+	  programs/regedit/childwnd.c, tools/widl/header.c:
+	Mark several functions as static.
+
+	* dlls/comctl32/rebar.c:
+	comctl32: rebar: Test the rebar style for RBBS_VARIABLEHEIGHT, not the passed
+	in structure.
+
+2007-03-11  Shanren Zhou <shanren@ucla.edu>
+
+	* dlls/comctl32/tests/header.c:
+	comctl32: Added header message sequence test cases.
+
+	* dlls/comctl32/tests/header.c:
+	comctl32: Header message sequence test cases.
+	Added separate parent and child header controls for each test case and
+	fixed a typo ('Data Modified' should be 'Date Modified').
+
+2007-03-13  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/ntdll/loader.c:
+	ntdll: Catch the exceptions in the TLS callback like Windows does.
+
+2007-03-12  Juan Lang <juan_lang@yahoo.com>
+
+	* dlls/crypt32/main.c:
+	crypt32: Set ppSignerSig to NULL in case caller doesn't check return value.
+
+	* dlls/user32/sysparams.c:
+	user32: Fix a comment.
+
+2007-03-13  András Kovács <andras@debian.sth.sze.hu>
+
+	* dlls/wined3d/directx.c:
+	wined3d: Set WINED3DCAPS2_DYNAMICTEXTURES flag.
+
+2007-03-13  Jason Edmeades <us@edmeades.me.uk>
+
+	* programs/cmd/directory.c:
+	cmd.exe: Add DIR /X support.
+
+	* programs/cmd/directory.c:
+	cmd.exe: Add DIR /T support.
+
+	* programs/cmd/directory.c:
+	cmd.exe: Add dir /L support.
+
+	* programs/cmd/builtins.c:
+	cmd.exe: Make SET have correct errorlevel.
+
+	* programs/cmd/builtins.c:
+	cmd.exe: Add SET /P support.
+
+	* programs/cmd/wcmdmain.c:
+	cmd.exe: Add 2>&1 and 1>&2 support.
+
+	* programs/cmd/builtins.c, programs/cmd/wcmd.h, programs/cmd/wcmdmain.c:
+	cmd.exe: Add TYPE multiple file support.
+
+	* programs/cmd/wcmdmain.c:
+	cmd.exe: Add support for stderr redirection to a file.
+
+	* programs/cmd/wcmdmain.c:
+	cmd.exe: Save initial working directory.
+
+	* programs/cmd/Cs.rc, programs/cmd/De.rc, programs/cmd/En.rc,
+	  programs/cmd/Es.rc, programs/cmd/Fr.rc, programs/cmd/Ja.rc,
+	  programs/cmd/Ko.rc, programs/cmd/Nl.rc, programs/cmd/No.rc,
+	  programs/cmd/Pl.rc, programs/cmd/Pt.rc, programs/cmd/Ru.rc,
+	  programs/cmd/Si.rc, programs/cmd/Tr.rc, programs/cmd/builtins.c,
+	  programs/cmd/wcmd.h, programs/cmd/wcmdmain.c:
+	cmd.exe: Add support for FTYPE.
+
+2007-03-12  H. Verbeet <hverbeet@gmail.com>
+
+	* dlls/wined3d/vertexbuffer.c:
+	wined3d: Remove some redundant code in IWineD3DVertexBufferImpl_FindDecl().
+
+	* dlls/wined3d/state.c:
+	wined3d: Remove a redundant check in handleStreams().
+
+	* dlls/wined3d/state.c:
+	wined3d: Remove some redundant checks in the vertexdeclaration() state handler.
+
+	* dlls/wined3d/drawprim.c, dlls/wined3d/glsl_shader.c,
+	  dlls/wined3d/state.c, dlls/wined3d/vertexbuffer.c,
+	  dlls/wined3d/wined3d_private.h:
+	wined3d: Disable vertex shaders when transformed vertices are used.
+
+	* dlls/wined3d/device.c, dlls/wined3d/wined3d_private.h:
+	wined3d: Remove FVF related fields from IWineD3DVertexDeclaration.
+
+	* dlls/wined3d/drawprim.c:
+	wined3d: 11 space indent is ugly.
+
+	* dlls/wined3d/state.c, dlls/wined3d/stateblock.c:
+	wined3d: Correct various texture limits checks.
+
+2007-03-12  Dan Kegel <dank@kegel.com>
+
+	* dlls/advapi32/registry.c:
+	advapi32: RegGetKeySecurity needs to pass length of struct to caller.
+
+2007-03-12  Huw Davies <huw@codeweavers.com>
+
+	* dlls/ole32/compobj.c:
+	ole32: Only retrieve posted and paint messages in an STA message loop.
+
+	* dlls/rpcrt4/tests/ndr_marshall.c:
+	rpcrt4: Tests that show that the allocation rules for unmarshaling a conformant
+	array are the same as those for a simple structure.
+
+2007-03-12  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/advpack/files.c, dlls/advpack/install.c, dlls/advpack/reg.c:
+	advpack: Constify some variables.
+
+	* dlls/advapi32/security.c:
+	advapi32: Explicitly initialize nested array element.
+
+2007-03-12  Fabian Bieler <der.fabe@gmx.net>
+
+	* dlls/wined3d/arb_program_shader.c, dlls/wined3d/surface.c,
+	  dlls/wined3d/utils.c:
+	wined3d: Implemented signed texture formats via NV_TEXTURE_SHADER.
+
+2007-03-10  Fabian Bieler <der.fabe@gmx.net>
+
+	* dlls/wined3d/basetexture.c:
+	wined3d: Set wrapmode for cubemags to clamp regardless of the sampler state.
+
+2007-03-12  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/ntdll/signal_i386.c, server/mach.c:
+	Fixed some compilation issues on Mac OS X Leopard.
+
+2007-03-10  Fabian Bieler <der.fabe@gmx.net>
+
+	* dlls/wined3d/device.c:
+	wined3d: Height of rectangle is bottom - top, not vice versa.
+
+2007-03-11  Jan Zerebecki <jan.wine@zerebecki.de>
+
+	* dlls/ole32/moniker.c, dlls/ole32/stg_prop.c:
+	ole32: Add DebugInfo to critical sections.
+	Also add missing DeleteCriticalSection.
+
+2007-03-10  Jan Zerebecki <jan.wine@zerebecki.de>
+
+	* dlls/winenas.drv/audio.c:
+	winenas.drv: Add DebugInfo to critical sections.
+
+	* dlls/dmloader/loader.c:
+	dmloader: Add DebugInfo to critical sections.
+
+	* dlls/winmm/winmm.c:
+	winmm: Add DebugInfo to critical sections.
+
+	* dlls/winearts.drv/audio.c:
+	winearts.drv: Add DebugInfo to critical sections.
+
+	* dlls/wineoss.drv/audio.c:
+	wineoss.drv: Add DebugInfo to critical sections.
+
+	* dlls/wineaudioio.drv/audio.c:
+	wineaudioio.drv: Add DebugInfo to critical sections.
+	Also add missing DeleteCriticalSection.
+
+	* dlls/wineesd.drv/audio.c:
+	wineesd.drv: Add DebugInfo to critical sections.
+
+	* dlls/winex11.drv/dib.c:
+	winex11.drv: Add DebugInfo to critical sections.
+
+	* dlls/dsound/buffer.c, dlls/dsound/capture.c, dlls/dsound/dsound.c:
+	dsound: Conform critical section DebugInfo names.
+
+	* dlls/winealsa.drv/alsa.c:
+	winealsa.drv: Conform critical section DebugInfo names.
+
+	* dlls/rsaenh/handle.c:
+	rsaenh: Add DebugInfo to critical sections.
+
+	* dlls/urlmon/binding.c:
+	urlmon: Add DebugInfo to critical sections.
+
+	* dlls/wintab32/wintab32.c:
+	wintab32: Add DebugInfo to critical sections.
+
+	* dlls/secur32/secur32.c:
+	secur32: Add DebugInfo to critical sections.
+
+	* dlls/quartz/dsoundrender.c, dlls/quartz/filesource.c,
+	  dlls/quartz/filtergraph.c, dlls/quartz/memallocator.c,
+	  dlls/quartz/parser.c, dlls/quartz/systemclock.c,
+	  dlls/quartz/transform.c, dlls/quartz/videorenderer.c:
+	quartz: Add DebugInfo to critical sections.
+	Also add missing DeleteCriticalSection.
+
+	* dlls/qcap/capturegraph.c, dlls/qcap/v4l.c, dlls/qcap/vfwcapture.c:
+	qcap: Add DebugInfo to critical sections.
+
+	* dlls/riched20/txtsrv.c:
+	riched20: Add DebugInfo to critical sections.
+
+	* dlls/oleaut32/tmarshal.c:
+	oleaut32: Add DebugInfo to critical sections.
+
+	* dlls/mciavi32/mciavi.c:
+	mciavi32: Add DebugInfo to critical sections.
+
+	* dlls/netapi32/nbcmdqueue.c, dlls/netapi32/nbnamecache.c,
+	  dlls/netapi32/nbt.c, dlls/netapi32/netbios.c:
+	netapi32: Add DebugInfo to critical sections.
+
+	* dlls/ntdll/heap.c, dlls/ntdll/rtl.c:
+	ntdll: Add DebugInfo to critical sections.
+
+	* dlls/msvcrt/file.c, dlls/msvcrt/lock.c:
+	msvcrt: Add DebugInfo to critical sections.
+
+	* dlls/mapi32/prop.c:
+	mapi32: Add DebugInfo to critical sections.
+
+	* dlls/crypt32/context.c, dlls/crypt32/oid.c, dlls/crypt32/proplist.c,
+	  dlls/crypt32/store.c:
+	crypt32: Add DebugInfo to critical sections.
+
+	* dlls/itss/chm_lib.c:
+	itss: Add DebugInfo to critical sections.
+
+	* dlls/kernel32/file.c:
+	kernel32: Add DebugInfo to critical sections.
+
+2007-03-11  Hagop Hagopian <shaitani@gmail.com>
+
+	* dlls/comctl32/tests/tab.c:
+	comctl32: Adding getter-setter tests for tab control.
+
+2007-03-10  Stefan Huehner <stefan@huehner.org>
+
+	* dlls/advpack/tests/advpack.c, dlls/advpack/tests/install.c,
+	  dlls/browseui/tests/autocomplete.c, dlls/comctl32/tests/listview.c,
+	  dlls/comctl32/tests/rebar.c, dlls/comctl32/tests/updown.c,
+	  dlls/ddraw/tests/visual.c, dlls/devenum/createdevenum.c,
+	  dlls/devenum/devenum_main.c, dlls/devenum/mediacatenum.c,
+	  dlls/dsound/tests/ds3d.c, dlls/gdi32/opengl.c,
+	  dlls/gdi32/tests/font.c, dlls/kernel32/tests/change.c,
+	  dlls/mscoree/mscoree_main.c, dlls/mshtml/nsembed.c,
+	  dlls/oleaut32/tests/olefont.c, dlls/secur32/tests/ntlm.c,
+	  dlls/shell32/pidl.c, dlls/shlwapi/tests/string.c,
+	  dlls/wineps.drv/glyphlist.c, dlls/winex11.drv/clipboard.c,
+	  dlls/wnaspi32/aspi.c, include/msiquery.h, programs/progman/group.c,
+	  programs/progman/main.c, programs/progman/program.c,
+	  programs/regedit/hexedit.c, programs/winecfg/drive.c,
+	  programs/winecfg/drivedetect.c, programs/winecfg/theme.c,
+	  programs/wineconsole/wineconsole.c, programs/wordpad/wordpad.c:
+	Change some functions arguments from () -> (void).
+
+2007-03-11  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/advapi32/tests/registry.c:
+	advapi32/tests: Prepare for more tests and use skip.
+
+2007-03-12  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/kernel32/tests/version.c:
+	kernel32/tests: Use skip.
+
+	* dlls/d3d9/tests/visual.c:
+	d3d9/tests: Use skip as is done in the other tests.
+
+	* dlls/d3d8/tests/visual.c:
+	d3d8/tests: Use skip as is done in the other tests.
+
+	* dlls/dnsapi/tests/Makefile.in, dlls/dnsapi/tests/name.c,
+	  dlls/dnsapi/tests/record.c:
+	dnsapi/tests: Load dnsapi dynamically and use skip.
+
+2007-03-12  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/ntdll/tests/error.c:
+	ntdll: Make the error test pass under XP.
+
+2007-03-12  Francois Gouget <fgouget@free.fr>
+
+	* programs/cmd/builtins.c, programs/cmd/wcmd.h, programs/cmd/wcmdmain.c:
+	cmd: Fix compilation on systems that don't support nameless unions.
+
+2007-03-10  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/quartz/dsoundrender.c:
+	quartz: Stop DSound buffer playback when the filter is paused or stopped,
+	not the next time it's processed.
+
+2007-03-10  Felix Nawothnig <flexo@holycrap.org>
+
+	* dlls/comctl32/listview.c:
+	comctl32: Implement LVS_EX_DOUBLEBUFFER.
+
+	* dlls/comctl32/tests/treeview.c, dlls/comctl32/treeview.c:
+	comctl32: Fix a typo.
+
+	* dlls/comctl32/listview.c, dlls/comctl32/tests/listview.c:
+	comctl32: Fix my last patch.
+	My last patch was wrong and caused some nasty regressions. Mapping
+	CLR_DEFAULT to the global defaults seem to be what native does.
+
+2007-03-07  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/device.c:
+	wined3d: Account for offscreen rendering when setting up the clearing scissor
+	rectangle.
+
+2007-03-10  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/context.c, dlls/wined3d/device.c, dlls/wined3d/drawprim.c,
+	  dlls/wined3d/wined3d_private.h:
+	wined3d: Blit the offscreen texture into the drawable if needed.
+	When using pbuffer or back buffer offscreen rendering the content of
+	the drawable will have been overwritten. Thus the texture has to be
+	written into the drawable. An exception is the (pretty common) case
+	that the whole render target is cleared before rendering to it.
+
+	* dlls/wined3d/device.c:
+	wined3d: Restore the index buffer when switching from UP to buffer drawing.
+	The state handler binds index buffer 0 when a user pointer is used. Likewise
+	the real index
+	buffer has to be restored when switching back to drawing from index buffers.
+
+2007-03-10  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/advapi32/service.c:
+	advapi32: Constify some variables.
+
+	* dlls/advapi32/lsa.c:
+	advapi32: Constify some variables.
+
+	* dlls/advapi32/crypt_md4.c, dlls/advapi32/tests/crypt_md4.c:
+	advapi32: Constify some variables.
+
+2007-03-09  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/winex11.drv/xfont.c:
+	winex11.drv: Replace const pointer parameters with correct non-const pointers.
+
+2007-03-09  Chris Peterson <Chrisp@ucla.edu>
+
+	* dlls/comctl32/tests/treeview.c:
+	comctl32: treeview: Message sequencing tests.
+
+2007-03-09  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/ntdll/string.c:
+	ntdll: Fixed a compiler warning for size_t/unsigned int mismatch.
+
+	* dlls/shdocvw/tests/webbrowser.c:
+	shdocvw: Avoid a printf format warning.
+
+2007-03-09  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/quartz/dsoundrender.c:
+	quartz: Check allocation failure and clear memory in DSound Renderer.
+
+2007-03-09  Felix Nawothnig <flexo@holycrap.org>
+
+	* dlls/comctl32/listview.c, dlls/comctl32/tests/listview.c:
+	comctl32: Remove clrTextBkDefault member from LISTVIEW_INFO and fix (clrTextBk
+	== CLR_DEFAULT) handling for custom drawing.
+
+	* dlls/comctl32/tests/listview.c:
+	comctl32: Add a failing custom draw related test.
+
+2007-03-09  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ole32/compobj.c, dlls/ole32/tests/marshal.c:
+	ole32: Implement CoAddRefServerProcess and CoReleaseServerProcess.
+
+	* dlls/ole32/compobj.c:
+	ole32: Make RegisteredClass list into a standard Wine list.
+
+	* dlls/ole32/compobj.c, dlls/ole32/compobj_private.h, dlls/ole32/rpc.c,
+	  dlls/ole32/tests/marshal.c:
+	ole32: Don't keep the local server named pipe open for a single-use object.
+
+	* dlls/ole32/tests/compobj.c:
+	ole32: Add some tests for the flags input to CoRegisterClassObject.
+
+	* dlls/ole32/compobj.c, dlls/ole32/compobj_private.h, dlls/ole32/rpc.c:
+	ole32: Close the named pipe after revoking local server objects.
+
+	* dlls/ole32/tests/marshal.c:
+	ole32: Enable local server test and make it work with Win9x COM implementation.
+
+	* dlls/ole32/compobj.c:
+	ole32: REGCLS_MULTIPLEUSE implies CLSCTX_INPROC_SERVER in CoRegisterClassObject.
+
+2007-03-09  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/oleobj.c:
+	mshtml: Use get_client_disp_property in SetClientSite to get silent property.
+
+	* dlls/shdocvw/tests/Makefile.in, dlls/shdocvw/tests/webbrowser.c:
+	shdocvw: Added Navigate2 test.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Call EnableModeless and SetStatusText in navigate.
+
+	* dlls/shdocvw/dochost.c, dlls/shdocvw/oleobject.c,
+	  dlls/shdocvw/shdocvw.h:
+	shdocvw: Move frame variable to DocHost.
+
+	* dlls/shdocvw/navigate.c:
+	shdocvw: Release callback and bindctx in bind_url_to_object.
+
+	* dlls/shdocvw/client.c, dlls/shdocvw/dochost.c, dlls/shdocvw/oleobject.c,
+	  dlls/shdocvw/shdocvw.h:
+	shdocvw: Added mode dispids implementation in DocHost::Invoke.
+
+	* dlls/shdocvw/oleobject.c:
+	shdocvw: Always set hostui to NULL in SetClientsite.
+
+	* dlls/shdocvw/client.c:
+	shdocvw: Added DISPID_AMBIENT_OFFLINEIFNOTCONNECTED and DISPID_AMBIENT_SILENT
+	implementation in DocHost::Invoke.
+
+	* dlls/shdocvw/dochost.c, dlls/shdocvw/shdocvw.h,
+	  dlls/shdocvw/webbrowser.c:
+	shdocvw: Move offline and silent variables to DocHost.
+
+2007-03-03  Anatoly Lyutin <vostok@etersoft.ru>
+
+	* programs/wineconsole/wineconsole_Ru.rc:
+	wineconsole: Update Russian resources.
+
+	* programs/cmd/Ru.rc:
+	cmd: Update translation and synchronize Russian resource.
+
+	* dlls/comdlg32/cdlg_Ru.rc, dlls/comdlg32/cdlg_Uk.rc:
+	comctl32: Update Russian and Ukrainian resourses.
+
+2007-03-03  Alasdair Sinclair <alasdairs@dsl.pipex.com>
+
+	* dlls/kernel32/computername.c, dlls/kernel32/tests/environ.c:
+	kernel32: Fix GetComputerNameA to not count trailing NULL, with test.
+
+2007-03-09  Alexandre Julliard <julliard@winehq.org>
+
+	* server/Makefile.in, server/process.h, server/procfs.c:
+	server: Added process control support using /proc on Solaris.
+
+2007-03-08  Peter Beutner <p.beutner@gmx.net>
+
+	* dlls/ntdll/signal_i386.c:
+	ntdll: Handle SIMD exceptions.
+
+	* dlls/ntdll/tests/exception.c:
+	ntdll: Testcase for handling SIMD exceptions.
+
+2007-03-09  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ole32/bindctx.c, dlls/ole32/tests/moniker.c:
+	ole32: Fix return codes returned by IBindCtx::RegisterObjectBound and
+	IBindCtx::RevokeObjectBound when used on NULL objects.
+
+	* dlls/ole32/bindctx.c, dlls/ole32/tests/moniker.c:
+	ole32: Fix cbStruct handling in IBindCtx:GetBindOptions.
+
+	* dlls/ole32/bindctx.c, dlls/ole32/tests/moniker.c:
+	ole32: Add more tests of IBindCtx functions.
+	Add tests for IBindCtx::GetObjectParam, IBindCtx::RevokeObjectParam and
+	IBindCtx::RevokeObjectBound.
+
+2007-03-08  Farshad Agah <f_agah@yahoo.com>
+
+	* dlls/comctl32/monthcal.c, dlls/comctl32/tests/monthcal.c:
+	comctl32: monthcal: Reject out of range dates in MCM_SETCURSEL.
+
+2007-03-08  Michael Stefaniuc <mstefani@redhat.de>
+
+	* dlls/winedos/int2f.c:
+	winedos: Check a file handle against INVALID_HANDLE_VALUE, not 0.
+
+2007-03-08  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/serialui/confdlg.c:
+	serialui: Replace const pointer type with correct pointer to const.
+
+2007-03-09  Byeong-Sik Jeon <wjsqudtlr@gmail.com>
+
+	* programs/winecfg/Ko.rc:
+	winecfg: Fix typo.
+
+2007-03-08  Michael Stefaniuc <mstefani@redhat.de>
+
+	* programs/winecfg/Ro.rc, programs/winecfg/winecfg.rc:
+	winecfg: Initial Romanian translation.
+
+2007-03-08  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/kernel32/cpu.c:
+	kernel32: Implemented GetSystemInfo() for Solaris.
+
+2007-03-08  Jan Zerebecki <jan.wine@zerebecki.de>
+
+	* dlls/dplayx/dplay.c, dlls/dplayx/dplaysp.c, dlls/dplayx/dplobby.c,
+	  dlls/dplayx/lobbysp.c:
+	dplayx: Add DebugInfo to critical sections.
+
+	* dlls/dmime/performance.c:
+	dmime: Add DebugInfo to critical sections.
+
+	* dlls/dinput/joystick_linux.c, dlls/dinput/joystick_linuxinput.c,
+	  dlls/dinput/keyboard.c, dlls/dinput/mouse.c:
+	dinput: Add DebugInfo to critical sections.
+
+2007-03-08  Huw Davies <huw@codeweavers.com>
+
+	* dlls/wineps.drv/ppd.c:
+	wineps.drv: Remove paper sizes that lack either a PageSize or a PaperDimension
+	entry in the PPD.
+
+	* dlls/wineps.drv/driver.c, dlls/wineps.drv/init.c, dlls/wineps.drv/ppd.c,
+	  dlls/wineps.drv/ps.c, dlls/wineps.drv/psdrv.h:
+	wineps.drv: Convert the page size list to a standard Wine list.
+
+2007-03-08  Francois Gouget <fgouget@free.fr>
+
+	* programs/rpcss/np_server.c:
+	rpcss: Fix a file handle leak in RPCSS_BecomePipeServer().
+	Also, RPCSS_NPConnect() returns a file handle so treat it as such by
+	checking it against INVALID_HANDLE_VALUE and not NULL.
+
+	* dlls/ws2_32/socket.c:
+	ws2_32: Fix an int/long mismatch in a trace.
+
+	* dlls/ws2_32/socket.c:
+	ws2_32: Replace a few -1 literals with SOCKET_ERROR.
+	Do a small tweak in WS2_send() so it looks more like WS2_recv().
+
+2007-03-08  Francois Gouget <fgouget@codeweavers.com>
+
+	* dlls/wininet/ftp.c:
+	wininet: Fix a couple of reversed checks that could result in leaked socket
+	handles.
+
+2007-03-08  Francois Gouget <fgouget@free.fr>
+
+	* dlls/wininet/ftp.c, dlls/wininet/tests/ftp.c:
+	wininet: Check file handles against INVALID_HANDLE_VALUE, not NULL.
+	Simplify the file handle handling in FTP_FtpPutFileW().
+
+2007-03-08  Francois Gouget <fgouget@codeweavers.com>
+
+	* dlls/rpcrt4/rpcrt4_main.c, dlls/rpcrt4/rpcss_np_client.c:
+	rpcrt4: Fix a file handle leak in RPCRT4_RPCSSOnDemandCall().
+	Also, RPCRT4_RpcssNPConnect() returns a file handle so treat it as
+	such by checking it against INVALID_HANDLE_VALUE and not NULL.
+
+2007-03-08  Francois Gouget <fgouget@free.fr>
+
+	* dlls/dbghelp/msc.c, dlls/dbghelp/pe_module.c:
+	dbghelp: Check file handles against INVALID_HANDLE_VALUE, not NULL.
+
+2007-03-08  Tomas Carnecky <tom@dbservice.com>
+
+	* dlls/dsound/buffer.c, dlls/dsound/primary.c, dlls/quartz/dsoundrender.c,
+	  dlls/winedos/soundblaster.c, include/dsound.h:
+	dsound: Update prototypes for IDirectSoundBuffer::Lock/Unlock.
+
+2007-03-08  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/kernel32/time.c:
+	kernel32: Fixed DosDateTimeToFileTime behavior when timegm() is missing.
+	The tm_isdst field needs to be initialized for mktime to do the right thing.
+
+	* dlls/advapi32/tests/registry.c:
+	advapi32: Fixed registry test that failed because of a buffer overflow.
+
+2007-03-08  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/persist.c:
+	mshtml: Release IOleCommandTarget in IPersistMoniker::Load.
+
+2007-03-08  Kai Blin <kai.blin@gmail.com>
+
+	* dlls/secur32/tests/main.c:
+	secur32: Check for actual return value on invalid QuerySecurityPackageInfo call.
+
+2007-03-08  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/quartz/dsoundrender.c, dlls/quartz/filtergraph.c,
+	  dlls/quartz/main.c, dlls/quartz/memallocator.c, dlls/quartz/parser.c,
+	  dlls/quartz/systemclock.c, dlls/quartz/transform.c,
+	  dlls/quartz/videorenderer.c:
+	quartz: Use proper alloc/free functions for COM objects.
+
+2007-03-08  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/oleaut32/tests/tmarshal.c, dlls/oleaut32/typelib.c:
+	oleaut32: TKIND_COCLASS parameters to Invoke'd functions should be converted
+	into VT_DISPATCH instead of VT_UNKNOWN.
+	Add a test for this.
+
+	* dlls/ole32/bindctx.c, dlls/ole32/tests/moniker.c:
+	ole32: Set output param to NULL in BindCtxImpl_EnumObjectParam.
+
+	* dlls/ole32/bindctx.c, dlls/ole32/tests/moniker.c:
+	ole32: Fix BindCtxImpl_GetBindOptions to return the correct locale and to not
+	fail if the input size is too large.
+
+	* dlls/ole32/bindctx.c, dlls/ole32/tests/moniker.c:
+	ole32: CreateBindCtx should fail if reserved parameter is not zero.
+
+2007-03-08  Jason Edmeades <us@edmeades.me.uk>
+
+	* programs/cmd/batch.c, programs/cmd/builtins.c, programs/cmd/wcmd.h,
+	  programs/cmd/wcmdmain.c:
+	cmd.exe: Support SHIFT /n option.
+
+	* programs/cmd/builtins.c:
+	cmd.exe: Add support for CD /D.
+
+	* programs/cmd/builtins.c, programs/cmd/wcmd.h:
+	cmd.exe: setlocal and endlocal should preserve drive and directory.
+
+	* programs/cmd/builtins.c:
+	cmd.exe: Hide new internal vars during SET.
+
+	* programs/cmd/builtins.c, programs/cmd/wcmdmain.c:
+	cmd.exe: Add support for working directories per drive.
+
+	* programs/cmd/builtins.c:
+	cmd.exe: Support TIME /T option.
+
+	* programs/cmd/builtins.c:
+	cmd.exe: Support DATE /T option.
+
+	* programs/cmd/builtins.c:
+	cmd.exe: Prevent options to pushd.
+
+	* programs/cmd/builtins.c, programs/cmd/wcmd.h, programs/cmd/wcmdmain.c:
+	cmd.exe: Support PUSHD with wildcards.
+
+	* programs/cmd/builtins.c:
+	cmd.exe: Set errorlevel if CD fails.
+
+	* programs/cmd/builtins.c:
+	cmd.exe: Wildcards in directory names for CD.
+
+	* programs/cmd/builtins.c, programs/cmd/wcmd.h, programs/cmd/wcmdmain.c:
+	cmd.exe: Support unquoted directories in CD command.
+
+	* programs/cmd/wcmdmain.c:
+	cmd.exe: Support default colours for wineconsole.
+
+	* programs/cmd/wcmdmain.c:
+	cmd.exe: Add cmd.exe /T option.
+
+	* programs/cmd/builtins.c, programs/cmd/wcmd.h, programs/cmd/wcmdmain.c:
+	cmd.exe: Add COLOR command.
+
+2007-03-08  Alexandre Julliard <julliard@winehq.org>
+
+	* configure, configure.ac:
+	configure: Fixed default dependencies to work properly in test dirs too.
+
+	* Make.rules.in, configure, configure.ac, include/config.h.in,
+	  tools/widl/Makefile.in, tools/wmc/Makefile.in, tools/wrc/Makefile.in:
+	configure: Get rid of lex compatibility support, we require flex anyway.
+
+	* dlls/kernel32/heap.c:
+	kernel32: Add missing limits.h include.
+
+2007-03-08  H. Verbeet <hverbeet@gmail.com>
+
+	* dlls/d3d8/tests/device.c:
+	d3d8: Add tests for GetVertexShaderDeclaration, GetVertexShaderFunction and
+	GetPixelShaderFunction.
+
+	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c:
+	wined3d: Fix IWineD3DPixelShader_GetFunction / IWineD3DVertexShader_GetFunction.
+
+	* dlls/d3d8/device.c:
+	d3d8: Implement IDirect3DDevice8_GetVertexShaderDeclaration.
+
+	* dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c,
+	  dlls/d3d8/vertexdeclaration.c:
+	d3d8: Save the d3d8 vertex declaration.
+
+2007-03-07  Peter Oberndorfer <kumbayo84@arcor.de>
+
+	* programs/winedbg/symbol.c:
+	winedbg: Do not write over const char * parameter.
+	Also pass the right string to SymEnumSymbols and check for _ in symbol
+	name, instead of beginning of string.
+
+2007-03-07  Michael Stefaniuc <mstefani@redhat.de>
+
+	* dlls/shell32/pidl.c, dlls/wined3d/device.c:
+	janitorial: Remove two redundant checks for NULL.
+
+	* dlls/comctl32/comboex.c, dlls/comctl32/comctl32undoc.c,
+	  dlls/comctl32/header.c, dlls/comctl32/propsheet.c,
+	  dlls/comctl32/rebar.c, dlls/comctl32/status.c,
+	  dlls/comctl32/string.c, dlls/comctl32/syslink.c, dlls/comctl32/tab.c,
+	  dlls/comctl32/toolbar.c, dlls/comctl32/updown.c:
+	comctl32: Remove redundant NULL checks before Free() (found by Smatch).
+
+2007-03-07  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/winmm/mmsystem.c, include/wine/mmsystem16.h:
+	winmm: Replace const pointer parameters with correct pointers to const.
+
+	* dlls/mpr/wnet.c:
+	mpr: Replace const pointer parameters with correct pointers to const.
+
+2007-03-07  Konstantin Kondratyuk <kondratyuk@etersoft.ru>
+
+	* dlls/kernel32/process.c:
+	kernel32: Allow to execute .cmd files.
+
+2007-03-07  Hwang YunSong(황윤성) <hys545@dreamwiz.com>
+
+	* programs/wordpad/Ko.rc:
+	wordpad: Updated Korean resource.
+
+2007-03-06  Hwang YunSong(황윤성) <hys545@dreamwiz.com>
+
+	* programs/cmd/Ko.rc:
+	cmd: Updated Korean resource.
+
+2007-03-07  Alexandre Julliard <julliard@winehq.org>
+
+	* tools/winedump/dump.c:
+	winedump: Fixed formatting of timestamps.
+
+	* include/wine/wine_common_ver.rc:
+	wine_common_ver: Set company name to Microsoft, some apps check for that.
+
+	* .gitignore, dlls/advapi32/Makefile.in, dlls/advapi32/version.rc,
+	  dlls/imm32/Makefile.in, dlls/imm32/version.rc,
+	  dlls/iphlpapi/Makefile.in, dlls/iphlpapi/version.rc,
+	  dlls/lz32/Makefile.in, dlls/lz32/version.rc, dlls/ntdll/Makefile.in,
+	  dlls/ntdll/version.rc, dlls/rpcrt4/Makefile.in,
+	  dlls/rpcrt4/version.rc, dlls/rsaenh/Makefile.in,
+	  dlls/rsaenh/version.rc, dlls/version/Makefile.in,
+	  dlls/version/version.rc, dlls/winex11.drv/Makefile.in,
+	  dlls/winex11.drv/version.rc:
+	Added version information for a number of dlls.
+
+2007-03-07  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/comdlg32/filedlg.c:
+	comdlg32: Use unicode Win32 APIs when possible.
+
+	* dlls/comdlg32/filedlg.c:
+	comdlg32: Use unicode Win32 APIs when possible.
+
+2007-03-07  Rob Shearman <rob@codeweavers.com>
+
+	* tools/widl/parser.y, tools/widl/typelib.c, tools/widl/write_msft.c:
+	widl: Implement writing of SAFEARRAY type descriptions in typelibs.
+
+	* dlls/Maketest.rules.in:
+	Maketest.rules.in: Make CROSSOBJS consistent with the equivalent OBJS rule in
+	the toplevel Make.rules.in.
+
+2007-03-06  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/kernel32/tests/Makefile.in, dlls/kernel32/tests/pipe.c:
+	kernel32: Add tests for ImpersonateNamedPipeClient.
+
+2007-03-07  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/netapi32/wksta.c:
+	netapi32: Added support for more info levels in NetWkstaGetInfo.
+
+2007-03-07  Luis Carlos Busquets Pérez <luis.busquets@ilidium.com>
+
+	* .gitignore, Makefile.in, configure, configure.ac, dlls/Makefile.in,
+	  dlls/dpnaddr/Makefile.in, dlls/dpnaddr/dpnaddr.spec,
+	  dlls/dpnaddr/version.rc:
+	dpnaddr: Added dll that just forwards to dpnet.
+
+2007-03-07  Alexandre Julliard <julliard@winehq.org>
+
+	* server/token.c:
+	server: Use internal luid_t type where appropriate.
+
+2007-03-06  Juan Lang <juan_lang@yahoo.com>
+
+	* dlls/ntdll/nt.c, include/wine/server_protocol.h, server/protocol.def,
+	  server/request.h, server/token.c, server/trace.c,
+	  tools/make_requests:
+	ntdll: Implement NtAllocateLocallyUniqueId with server call.
+
+2007-03-06  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/context.c, dlls/wined3d/device.c, dlls/wined3d/drawprim.c,
+	  dlls/wined3d/surface.c, dlls/wined3d/surface_gdi.c,
+	  dlls/wined3d/swapchain.c, dlls/wined3d/utils.c,
+	  dlls/wined3d/wined3d_private.h, include/wine/wined3d_interface.h:
+	wined3d: Rework surface dirtification.
+	Previously the surfaces stored a flag if the system memory copy was
+	ahead of the gl copy(SFLAG_DIRTY) or the gl copy is
+	ahead(SFLAG_GLDIRTY). The pbuffer copy was 'managed' differently using
+	SFLAG_INPBUFFER and SFLAG_INTEXTURE.
+	This patch replaces them with 3 flags, INSYSMEM, INPBUFFER and
+	INTEXTURE which specify which copy contains the most up to date
+	copy. It is perfectly valid to have more than one of those flags
+	set. One must be set at least (except at init, when no content is in
+	the surface yet). When one copy is modified, the flags for the others
+	are removed.
+
+2007-03-03  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/context.c, dlls/wined3d/surface.c,
+	  dlls/wined3d/surface_gdi.c, dlls/wined3d/wined3d_private.h,
+	  include/wine/wined3d_interface.h:
+	wined3d: Remove IWineD3DSurface::SetPBufferState.
+	The method is removed because it does not really help with
+	anything. It should not be exported from wined3d, there is no need for
+	the other libs to call it. It does not help abstraction and code
+	simplification in any way because it is very specific and the code
+	calling it has to know what is happening in the surface to use this
+	method.
+
+2007-03-07  Aric Stewart <aric@codeweavers.com>
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Search SystemLinked fonts when looking for a valid replacement.
+
+	* dlls/user32/painting.c:
+	user32: Don't delete hrgnClip until we are done using it.
+	Thanks to Peter Oberndorfer for noticing this.
+
+2007-03-07  Detlef Riekenberg <wine.dev@web.de>
+
+	* dlls/localspl/tests/localmon.c:
+	localspl/tests: Add tests for XcvDataPort_DeletePort.
+
+	* dlls/localspl/localmon.c:
+	localspl: Implement DeletePort for XcvDataPort.
+
+2007-03-07  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/nsio.c:
+	mshtml: Remove false FIXME.
+
+	* dlls/mshtml/navigate.c:
+	mshtml: Improve ReadSegments implementation.
+
+	* dlls/atl/registrar.c:
+	atl: Compare file handle to INVALID_HANDLE_VALUE to handle errors.
+
+2007-03-06  H. Verbeet <hverbeet@gmail.com>
+
+	* dlls/d3d9/tests/visual.c:
+	d3d9: Add a mova rounding test.
+
+	* dlls/wined3d/directx.c, dlls/wined3d/pixelshader.c,
+	  dlls/wined3d/vertexshader.c, dlls/wined3d/wined3d_main.c,
+	  dlls/wined3d/wined3d_private.h, programs/winecfg/Bg.rc,
+	  programs/winecfg/De.rc, programs/winecfg/En.rc,
+	  programs/winecfg/Es.rc, programs/winecfg/Fi.rc,
+	  programs/winecfg/Fr.rc, programs/winecfg/Hu.rc,
+	  programs/winecfg/Ja.rc, programs/winecfg/Ko.rc,
+	  programs/winecfg/Nl.rc, programs/winecfg/No.rc,
+	  programs/winecfg/Ru.rc, programs/winecfg/Tr.rc,
+	  programs/winecfg/resource.h, programs/winecfg/x11drvdlg.c:
+	wined3d: Remove broken software shaders.
+
+	* dlls/wined3d/directx.c:
+	wined3d: Fix a typo.
+
+2007-03-06  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/user32/mdi.c, dlls/user32/painting.c, include/winuser.h:
+	user32: Replace const pointer parameters with correct pointers to const.
+
+	* dlls/comdlg32/filedlg31.c, dlls/comdlg32/filedlg31.h,
+	  dlls/comdlg32/fontdlg16.c:
+	comdlg32: Replace const pointer parameters with correct pointers to const.
+
+2007-03-06  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ole32/tests/moniker.c:
+	ole32: Add some tests for IBindCtx.
+
+	* dlls/ole32/tests/marshal.c:
+	ole32: Remove some unnecessary traces from the HeapUnknown implementation.
+
+	* dlls/ole32/tests/compobj.c:
+	ole32: Fix a failing CoUnmarshalInterface test on Windows.
+
+	* dlls/ole32/tests/moniker.c:
+	ole32: Fix a use-after-free of the file moniker in the running object table
+	tests.
+
+	* server/registry.c, server/token.c:
+	server: A general solution for handling MAXIMUM_ALLOWED access right has been
+	implemented so remove the workarounds.
+
+2007-03-06  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/device.c, dlls/wined3d/state.c:
+	wined3d: Do not specify the viewport origin upside down when doing offscreen
+	rendering.
+	The gl viewport origin is the lower left corner of the window, in d3d
+	it is the upper right corner. This is corrected when setting the
+	viewport. However, when we are doing offscreen rendering, this is
+	reversed. So do not flip the viewport origin when rendering offscreen.
+
+	* dlls/wined3d/device.c, dlls/wined3d/state.c:
+	wined3d: Disable depth stencil related states without a depth stencil buffer.
+	Except with fbos, it is not possible to remove the depth stencil
+	buffer from the opengl frame buffer, so when the d3d app sets a NULL
+	depth stencil disable all states that work with the depth stencil
+	buffer.
+
+	* dlls/d3d9/tests/device.c, dlls/wined3d/device.c:
+	wined3d: Clearing the depth stencil buffer fails without a depth stencil buffer.
+
+2007-03-04  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/surface.c:
+	wined3d: Use an aux buffer as blitting helper if available.
+	This helps performance a bit because the function does not have to
+	wait for the 2nd read to finish before returning. Only do that if we
+	have an aux buffer to mess with for free though.
+
+	* dlls/wined3d/device.c, dlls/wined3d/directx.c,
+	  include/wine/wined3d_gl.h:
+	wined3d: Store the number of aux buffers in the gl limits structure.
+
+2007-03-05  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/arb_program_shader.c, dlls/wined3d/surface.c:
+	wined3d: WINED3DFMT_U8V8 is signed.
+	Plain OpenGL does not provide any signed pixel formats, so the
+	unsigned GL_RGB is used for loading perturbation data into pixel
+	shaders that use texbem. For correct loading, the signedness has to be
+	considered.
+
+2007-03-03  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/state.c:
+	wined3d: Adjust the rhw transformation for offscreen rendering.
+
+2007-03-06  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/msvcrt/tests/dir.c:
+	msvcrt/tests: Properly remove temporary directory.
+
+	* dlls/localspl/tests/localmon.c:
+	localspl/tests: Remove tempfile after running the tests.
+
+	* dlls/winspool.drv/tests/info.c:
+	winspool.drv/tests: Remove tempfile after running the tests.
+
+2007-03-06  Michael Stefaniuc <mstefani@redhat.de>
+
+	* dlls/snmpapi/main.c:
+	snmpapi: Fix printf format warnings.
+
+2007-03-06  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/secur32/ntlm.c, dlls/secur32/tests/ntlm.c:
+	secur32: NTLM's AcquireCredentialHandleA/W should accept domains and usernames
+	with lengths of 0.
+	Add tests for these cases.
+
+	* dlls/secur32/ntlm.c:
+	secur32: NTLM - don't bother nul terminating the password string as nothing
+	relies on it being nul terminated.
+
+	* dlls/secur32/ntlm.c:
+	secur32: NTLM - don't copy more data from User, Domain and Password
+	pointers in the SEC_WINNT_AUTH_IDENTITY structure than the
+	corresponding Length fields say the pointers hold.
+
+2007-03-06  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/gdi32/font.c, dlls/gdi32/tests/font.c:
+	gdi32: Add an extensive EnumFontFamilies test, fix some failures when running
+	under Wine.
+
+2007-03-06  Francois Gouget <fgouget@free.fr>
+
+	* dlls/mshtml/tests/htmldoc.c, dlls/msi/tests/install.c,
+	  dlls/wineps.drv/psdrv.h, programs/cmd/batch.c,
+	  programs/cmd/builtins.c:
+	Assorted spelling fixes.
+
+	* dlls/dplayx/tests/dplayx.c:
+	dplayx/tests: Fix compilation on systems that don't support nameless unions.
+
+	* dlls/dplayx/tests/dplayx.c:
+	dplayx/tests: Add missing '\n' to ok() call.
+
+2007-03-06  Byeong-Sik Jeon <wjsqudtlr@gmail.com>
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Fix FontSubstitute values for Korean locale.
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Add missing pFT_Done_Face().
+
+2007-03-06  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/wineps.drv/init.c:
+	wineps.drv: Return correct values for DESKTOPHORZ/VERTRES since they are used
+	to setup the visible region.
+
+	* tools/wine.inf:
+	wine.inf: dwReserved values for DirectPlay providers should be dwords
+	(spotted by Alessandro Pignotti).
+
+2007-03-06  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/winex11.drv/keyboard.c:
+	winex11.drv: Do not ignore the keysyms assigned to a group switch, it leads
+	to side effects like missing KeyRelease events.
+
+	* dlls/user32/tests/win.c:
+	user32: Make the excessive scroll test pass under Windows.
+
+2007-03-06  Detlef Riekenberg <wine.dev@web.de>
+
+	* dlls/serialui/tests/confdlg.c:
+	serialui/tests: Add some tests for CommConfigDialog.
+
+	* dlls/kernel32/comm.c, dlls/serialui/confdlg.c:
+	serialui: Fix return type for CommConfigDialog.
+
+	* dlls/localspl/localmon.c:
+	localspl: Do not crash when Xcv was opened without a space in the name.
+
+2007-03-05  Detlef Riekenberg <wine.dev@web.de>
+
+	* dlls/winspool.drv/tests/info.c:
+	winspool/tests: Vista returns a different status.
+
+2007-03-05  Eric Pouech <eric.pouech@wanadoo.fr>
+
+	* programs/winedbg/tgt_active.c:
+	winedbg: Forward the wShowWindow option from winedbg to the debuggee.
+
+	* programs/winedbg/tgt_minidump.c:
+	winedbg: We no longer need to force for ELF modules in minidumps as we do it
+	automatically now.
+
+2007-03-05  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ole32/compobj.c:
+	ole32: Compare the class contexts in COM_GetRegisteredClassObject.
+	Only objects that have been registered for a class context that matches
+	the requested class context should be returned.
+
+	* dlls/ole32/ole2.c:
+	ole32: OleLoad should call CoCreateInstance with CLSCTX_INPROC_SERVER as well
+	as CLSCTX_INPROC_HANDLER.
+
+	* dlls/credui/credui.rc:
+	credui: Fix a missing ":" in the credential dialog domain name text box.
+
+2007-03-05  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/msvfw32/drawdib.c:
+	msvfw32: Replace const pointer parameter with correct pointer to const.
+
+	* dlls/comctl32/rebar.c:
+	comctl32: Replace const pointer parameter with correct pointer to const.
+
+	* dlls/msi/custom.c:
+	msi: Replace const pointer parameters with correct pointers to const.
+
+2007-03-05  Mike Schaadt <mschaadt@gmail.com>
+
+	* dlls/snmpapi/main.c:
+	snmpapi: Changed %llu to %x%08lx.
+
+2007-03-05  Aric Stewart <aric@codeweavers.com>
+
+	* dlls/gdi32/freetype.c, tools/wine.inf:
+	gdi32: Set FontSubstitute values by locale.
+
+2007-03-05  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/gdi32/tests/font.c:
+	gdi32/tests: Use skip where appropriate.
+
+	* dlls/gdi32/tests/font.c:
+	gdi32/tests: Make sure we can run on win9x and NT again.
+
+2007-03-05  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/quartz/dsoundrender.c, dlls/quartz/enumpins.c,
+	  dlls/quartz/filesource.c, dlls/quartz/filtermapper.c,
+	  dlls/quartz/parser.c:
+	quartz: Improve reference traces.
+
+2007-03-05  Alexandre Julliard <julliard@winehq.org>
+
+	* server/mach.c:
+	server: Replace use of internal __pthread_kill() function by a system call.
+
+	* dlls/user32/winpos.c, include/wine/server_protocol.h,
+	  server/protocol.def, server/trace.c, server/window.c:
+	server: Expose areas revealed by changes to the window region.
+
+	* programs/clock/main.c, programs/clock/winclock.c,
+	  programs/clock/winclock.h:
+	clock: Make the window round in no title bar mode, to exercise SetWindowRgn.
+
+2007-03-05  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/advapi32/tests/lsa.c:
+	advapi32/tests: Move skip to a more appropriate place.
+
+	* dlls/advapi32/tests/crypt_md5.c:
+	advapi32/tests: Don't use FreeLibrary with GetModuleHandle.
+
+2007-03-05  Michael Stefaniuc <mstefani@redhat.de>
+
+	* dlls/hhctrl.ocx/help.c:
+	hhctrl.ocx: Fix a format warning.
+
+2007-03-05  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/kernel32/sync.c:
+	kernel32: Implement CallNamedPipeW.
+
+	* dlls/wininet/tests/http.c, dlls/wininet/utility.c:
+	wininet: Always make copies of strings passed to INTERNET_SendCallback.
+	This ensures that applications that change the strings received in
+	status callbacks don't affect the data needed to successfully connect to
+	the correct server.
+
+	* dlls/credui/credui_main.c:
+	credui: The pfSave parameter of CredUIPromptForCredentials is optional.
+
+	* dlls/msi/package.c, dlls/msi/tests/package.c:
+	msi: Set the PackageCode property based on the "revision number" data in the
+	summary information.
+	Add a test to show that PackageCode is set by MSI.
+
+	* dlls/msi/custom.c:
+	msi: Rewrite the second loop in ACTION_FinishCustomActions so that it always
+	terminates.
+	Create an array of handles to wait on so that we can wait without
+	holding a critical section.
+
+	* dlls/msi/package.c, dlls/msi/tests/package.c:
+	msi: Set the Date, Time and VersionDatabase properties.
+	Add tests for these properties.
+	Update the todo list of properties to set.
+
+2007-03-03  Joris Huizer <joris_huizer@yahoo.com>
+
+	* tools/winedump/minidump.c, tools/winedump/msc.c:
+	winedump: sign-compare fixes.
+
+	* loader/preloader.c:
+	preloader: sign-compare fix.
+
+	* tools/winebuild/import.c, tools/winebuild/spec32.c,
+	  tools/winebuild/utils.c:
+	winebuild: sign-compare fixes.
+
+2007-03-03  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/state.c:
+	wined3d: Adjust the rhw transformation for offscreen rendering.
+	When drawing processed vertices with the fixed function pipeline the
+	projection matrix is set up to map y values from 0 to height to 1.0;
+	-1.0(gl and d3d coord systems are flipped). This moves the y axis to
+	the bottom of the drawing area. When later on the y inversion matrix
+	is applied for offscreen rendering, the coordinate system will get
+	flipped out of the viewport.
+	This patch sets the Y range up upside down when using offscreen
+	rendering, so the invymat will flip it to the correct position. This
+	has to happen before the 0.375 pixel correction.
+
+2007-03-02  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/device.c:
+	wined3d: Use the scissor test when clearing the full surface too.
+	It was incorrect to disable the scissor test for full surfaces in my
+	clear patch. With back buffer offscreen rendering the viewport does
+	not seem to restrict clearing, and with different sizes of depth
+	stencil and color buffer the final fantasy XI demo seems to expect the
+	clear to be restricted.
+
+2007-03-05  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/quartz/filesource.c:
+	quartz: Don't AddRef an object we just created and are handing back to the
+	caller.
+
+2007-03-04  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/quartz/pin.c:
+	quartz: Report the previous refcount of a PullPin object.
+
+2007-03-04  Jason Edmeades <us@edmeades.me.uk>
+
+	* dlls/kernel32/tests/file.c:
+	kernel32/tests: Show wrong behaviour with current directory.
+
+	* programs/cmd/wcmdmain.c:
+	cmd.exe: Fix stdio redirects.
+
+	* programs/cmd/builtins.c, programs/cmd/wcmd.h, programs/cmd/wcmdmain.c:
+	cmd.exe: Add support for del file1 file2.
+
+	* programs/cmd/Cs.rc, programs/cmd/De.rc, programs/cmd/En.rc,
+	  programs/cmd/Es.rc, programs/cmd/Fr.rc, programs/cmd/Ja.rc,
+	  programs/cmd/Ko.rc, programs/cmd/Makefile.in, programs/cmd/Nl.rc,
+	  programs/cmd/No.rc, programs/cmd/Pl.rc, programs/cmd/Pt.rc,
+	  programs/cmd/Ru.rc, programs/cmd/Si.rc, programs/cmd/Tr.rc,
+	  programs/cmd/builtins.c, programs/cmd/wcmd.h,
+	  programs/cmd/wcmdmain.c:
+	cmd.exe: Add ASSOC command.
+
+	* programs/cmd/builtins.c, programs/cmd/wcmd.h, programs/cmd/wcmdmain.c:
+	cmd.exe: PROMPT option to show pushd levels.
+
+	* programs/cmd/wcmdmain.c:
+	cmd.exe: Additional PROMPT options.
+
+	* programs/cmd/builtins.c, programs/cmd/wcmd.h, programs/cmd/wcmdmain.c:
+	cmd.exe: Support rd dir1 dir2.
+
+2007-03-04  Eric Pouech <eric.pouech@wanadoo.fr>
+
+	* programs/winedbg/tgt_module.c:
+	dbghelp: module target: Better error handling when init fails and creates a
+	dummy thread.
+
+	* dlls/dbghelp/msc.c:
+	dbghelp: Fixes for loading circular references on function signature.
+
+	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/dbghelp_private.h,
+	  dlls/dbghelp/symbol.c, dlls/dbghelp/type.c, include/dbghelp.h:
+	dbghelp: Implemented SymEnumTypesW.
+
+	* programs/winedbg/tgt_minidump.c:
+	winedbg: When reloading a minidump, recreate all threads from the thread record
+	(and not just the first one).
+
+	* programs/winedbg/types.c:
+	winedbg: Fix printing function signature type for circular references on
+	return type.
+
+	* programs/winedbg/types.c:
+	winedbg: Fix maint type when no process is active.
+
+2007-03-03  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/quartz/filtergraph.c:
+	quartz: Use the right vtable offset for the IMediaFilter functions.
+
+2007-03-04  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* dlls/mapi32/tests/imalloc.c, dlls/mapi32/tests/prop.c,
+	  dlls/mapi32/tests/util.c:
+	mapi32/tests: Don't run tests if functions are not implemented.
+
+2007-03-04  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/gdi32/font.c:
+	gdi32: Avoid a needless goto.
+
+2007-03-05  Francois Gouget <fgouget@free.fr>
+
+	* programs/cmd/directory.c:
+	cmd: Remove unneeded NONAMELESS* defines and ifdefs.
+
+2007-03-04  Francois Gouget <fgouget@free.fr>
+
+	* programs/oleview/typelib.c:
+	oleview: Fix compilation on systems that don't support nameless unions.
+
+	* programs/cmd/batch.c:
+	cmd: Fix compilation on systems that don't support nameless unions.
+
+	* dlls/ddraw/tests/visual.c:
+	ddraw/tests: Fix compilation on systems that don't support nameless unions.
+
+2007-03-03  Andrew Talbot <Andrew.Talbot@talbotville.com>
+
+	* dlls/advapi32/crypt_lmhash.c, dlls/advapi32/tests/crypt_lmhash.c:
+	advapi32: Replace const pointer parameters with correct pointers to const.
+
+	* dlls/advapi32/crypt.c:
+	advapi32: Constify a variable.
+
+	* dlls/version/info.c:
+	version: Constify some variables.
+
+2007-03-03  Hwang YunSong(황윤성) <hys545@dreamwiz.com>
+
+	* programs/regedit/Ko.rc:
+	regedit: Updated Korean resource.
+
+2007-03-03  Kai Blin <kai.blin@gmail.com>
+
+	* dlls/dplayx/tests/dplayx.c:
+	dplayx: Remove unneeded test, fix compilation on msvc++.
+
+	* dlls/dplayx/tests/dplayx.c:
+	dplayx: Use skip and fix indentation.
+
+	* dlls/secur32/tests/ntlm.c:
+	secur32: Use skip for skipped tests, reduce indentation.
+
+2007-03-03  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/quartz/filtergraph.c:
+	quartz: Use the proper CLSID when creating the IFilterMapper2 interface.
+
+	* dlls/quartz/filtermapper.c, dlls/quartz/main.c,
+	  dlls/quartz/quartz_private.h:
+	quartz: Return the proper interface for IFilterMapper.
+
+2007-03-03  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/user32/tests/win.c:
+	user32: win2k and XP return broken border info in GetWindowInfo most of the
+	time, so there is no point in testing it.
+
+	* dlls/user32/tests/msg.c:
+	user32: Fix most of test failures when running message test under win2k and XP.
+
+2007-03-02  Kanit Therdsteerasukdi <therdste@ucla.edu>
+
+	* dlls/comctl32/tests/datetime.c:
+	comctl32: datetime: Tests for events for date and time picker added.
+
+2007-03-02  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/hhctrl.ocx/help.c:
+	hhctrl.ocx: Try to build URL with full path if navigation to URL fails.
+
+	* dlls/hhctrl.ocx/chm.c:
+	hhctrl.ocx: Correctly handle URLs in SetChmPath.
+
+2007-03-02  Peter Oberndorfer <kumbayo84@arcor.de>
+
+	* dlls/ntdll/tests/exception.c:
+	ntdll: Make exception test not hang when creating process fails.
+
+2007-03-02  H. Verbeet <hverbeet@gmail.com>
+
+	* dlls/wined3d/glsl_shader.c:
+	wined3d: gl_FogFragCoord is a scalar.
+
+	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c:
+	wined3d: The texldl instruction takes 3 arguments.
+
+	* dlls/wined3d/state.c:
+	wined3d: Properly check the clipplane index against the limit.
+
+2007-03-02  Paul Vriens <paul.vriens.wine@gmail.com>
+
+	* programs/winetest/main.c:
+	programs/winetest: Raise fileversion.
+
+	* dlls/msi/tests/install.c:
+	msi/tests: Properly cleanup after each test.
+
+	* dlls/shell32/tests/shlfileop.c:
+	shell32/tests: Rewording and cleanup.
+
+	* dlls/advapi32/tests/lsa.c:
+	advapi32/tests: Make use of skip.
+
+2007-03-02  Alexandre Julliard <julliard@winehq.org>
+
+	* ANNOUNCE, ChangeLog, VERSION, configure:
+	Release 0.9.32.
+
+----------------------------------------------------------------
 2007-03-02  Aric Stewart <aric@codeweavers.com>
 
 	* dlls/gdi32/freetype.c:
diff --git a/VERSION b/VERSION
index 8cf7007..f01c5b2 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 0.9.32
+Wine version 0.9.33
diff --git a/configure b/configure
index e95dec5..d99a70a 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.32.
+# Generated by GNU Autoconf 2.61 for Wine 0.9.33.
 #
 # 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.32'
-PACKAGE_STRING='Wine 0.9.32'
+PACKAGE_VERSION='0.9.33'
+PACKAGE_STRING='Wine 0.9.33'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 
 ac_unique_file="server/atom.c"
@@ -1291,7 +1291,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.32 to adapt to many kinds of systems.
+\`configure' configures Wine 0.9.33 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1360,7 +1360,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 0.9.32:";;
+     short | recursive ) echo "Configuration of Wine 0.9.33:";;
    esac
   cat <<\_ACEOF
 
@@ -1455,7 +1455,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 0.9.32
+Wine configure 0.9.33
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1469,7 +1469,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.32, which was
+It was created by Wine $as_me 0.9.33, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -21272,7 +21272,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.32, which was
+This file was extended by Wine $as_me 0.9.33, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21325,7 +21325,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Wine config.status 0.9.32
+Wine config.status 0.9.33
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
