diff --git a/ANNOUNCE b/ANNOUNCE
index 0cdc078..d1a4138 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,19 +1,17 @@
-This is release 0.9.46 of Wine, a free implementation of Windows on Unix.
+This is release 0.9.47 of Wine, a free implementation of Windows on Unix.
 
 What's new in this release:
-  - A variety of fixes to improve Photoshop CS2 support.
-  - More complete support for device installation in setupapi.
-  - New Bidi text implementation that doesn't depend on libicu.
-  - The usual assortment of Direct3D improvements.
-  - Beginning of I/O completion ports support.
+  - New scheme for OpenGL support in child windows.
+  - Lots of fixes for regression test failures.
+  - A Tahoma replacement font.
   - 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.46.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-0.9.46.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.47.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-0.9.47.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -35,533 +33,413 @@
 
 ----------------------------------------------------------------
 
-Changes since 0.9.45:
+Changes since 0.9.46:
 
-Alex Villacís Lasso (8):
-      iccvid: Guard against null pointer reference.
-      riched20: Prevent overflow on richedit debug channel.
-      riched20: Tests show WM_GETTEXT change \r to \r\n.
-      riched20: Fix WM_GETTEXT to change \r to \r\n.
-      riched20: EM_SETCHARFORMAT must return 1 on success, not 0.
-      riched20: EM_SETCHARFORMAT must return 0, not assert, on invalid struct size.
-      riched20: EM_SETCHARFORMAT must fail and return 0 with  TM_PLAINTEXT and SF_SELECTION.
-      riched20: Minimal fix for WM_SETTEXT without ES_MULTILINE style.
+Alexandre Julliard (26):
+      msvcirt: Added stub implementation of msvcirt.dll.
+      comctl32/tests: Avoid destroying a DPA twice.
+      mshtml: The HTMLDocument URL is a standard WCHAR string, not a BSTR.
+      msi: Avoid accessing a freed object.
+      user32/tests: Compare against ASCII string first since it may not be a valid Unicode string in that case.
+      shlwapi: Fix GetAcceptLanguagesA to not read past the end of the buffer.
+      ntdll: Clear heap blocks also for WARN_ON(heap).
+      ntdll: Remove assumptions that the subheap is at the beginning of the memory block.
+      ntdll: Convert the subheap list to a standard list.
+      ntdll: Make the heap structure more compatible with the NT layout.
+      kernel32: Improve tracing in GlobalAlloc.
+      server: Add a default access mapping function for files, and use it for devices too.
+      imagehlp: Fixed UpdateDebugInfoFile definition.
+      user32/tests: Replace GWL_WNDPROC by GWLP_WNDPROC.
+      winenas.drv: Add workaround for INT64 type too.
+      ntdll: Fix the HEAP_CreateSubHeap return value (spotted by Allan Tong).
+      kernel32: Use FIELD_OFFSET instead of pointer cast.
+      server: Use the file_pos_t type for file sizes and offsets in the protocol structures.
+      winex11: Use ExtEscape to flush the GL drawable to the physdev.
+      winex11: Don't store a physdev pointer in the GL context.
+      msvcrt: Fix demangling of function pointers by maintaining the left/right distinction for type references.
+      winex11: Add generic mechanism for managing WM_STATE properties.
+      winex11: Set the SKIP_PAGER and SKIP_TASKBAR styles on tool windows.
+      winex11: Reuse the mwm hints when computing the window X11 rectangle.
+      winex11: Don't use a window manager border for a simple WS_BORDER-style border.
+      kernel32: Get rid of the NLS_RegOpenSubKey function, its behavior is broken.
 
-Alexandre Julliard (62):
-      wininet/ftp: There's no need to query the file size before retrieving a file.
-      ntdll: Fix an error message.
-      user32/tests: Properly flush events in the update rect tests.
-      comctl32: We can now store binary files in the repository.
-      comdlg32: We can now store binary files in the repository.
-      user32: We can now store binary files in the repository.
-      shell32: We can now store binary files in the repository.
-      ole32: We can now store binary files in the repository.
-      msi: We can now store binary files in the repository.
-      cards: We can now store binary files in the repository.
-      comctl32/tests: We can now store binary files in the repository.
-      user32/tests: We can now store binary files in the repository.
-      itss/tests: We can now store binary files in the repository.
-      gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the clipping functions.
-      gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the painting functions.
-      gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the bitmap functions.
-      gdi32: Replace remaining instance of DC_GetDCUpdate by get_dc_ptr+update_dc.
-      gdi32: Update the DC in most OpenGL functions.
-      winex11.drv: Invalidate the DCE when the window format is changed.
-      cmd.exe: We can now store binary files in the repository.
-      cmdlgtst.exe: We can now store binary files in the repository.
-      msiexec.exe: We can now store binary files in the repository.
-      oleview.exe: We can now store binary files in the repository.
-      regedit.exe: We can now store binary files in the repository.
-      taskmgr.exe: We can now store binary files in the repository.
-      uninstaller.exe: We can now store binary files in the repository.
-      winecfg.exe: We can now store binary files in the repository.
-      winefile.exe: We can now store binary files in the repository.
-      winemine.exe: We can now store binary files in the repository.
-      winetest.exe: We can now store binary files in the repository.
-      wordpad.exe: We can now store binary files in the repository.
-      tools: Remove the no longer needed bin2res tool.
-      msvcrt: Added implementation for __STRINGTOLD.
-      msvcrt: Added implementation of a few more __crt functions.
-      winex11.drv: If a window is not resizable through the window manager fall back to non-managed resizing.
-      winex11.drv: Update the wm hints when the window frame is changed.
-      ntdll/tests: Skip the debugger test if the child process is not loaded at the right address.
-      server: Clip the visible region of a window to the desktop window.
-      loader: Set the address space limit before starting the preloader.
-      winex11.drv: Don't call GDI functions while holding the xrender lock.
-      setupapi: Simplify the SetupDiGetClassDescriptionExA/W implementation.
-      gdi32: Don't hold the GDI lock while calling the driver mapping functions.
-      gdi32: Don't hold the GDI lock while calling the driver path functions.
-      gdi32: Don't hold the GDI lock while calling the driver painting functions.
-      gdi32: Don't hold the GDI lock while calling the driver OpenGL functions.
-      gdi32: Don't hold the GDI lock while calling the driver clipping functions.
-      gdi32: Don't hold the GDI lock while calling the driver printer functions.
-      ole32/tests: Remove test that tries to create a huge file on Windows.
-      wineps.drv: Fix end of list check in PSDRV_UpdateDevCaps().
-      wineconsole: Default to the user backend, falling back to curses if we can't create a window.
-      gdi32: Don't hold the gdi lock while creating a DC.
-      gdi32: Don't hold the gdi lock while calling DC driver functions.
-      gdi32: Don't pass a DC handle to WineEngGetFontUnicodeRanges.
-      gdi32: Move the generic part of FontIsLinked() to font.c.
-      winex11.drv: Don't call GDI functions while holding the X11 lock.
-      gdi32: Fix typo in FIXME (spotted by Rob Shearman).
-      rpcrt4/tests: Remove static keywords that hide test failures.
-      winex11.drv: Always drag the full window for top-level windows to avoid having to grab the server.
-      gdi32: Don't pass an object pointer to the SelectObject backend functions.
-      gdi32: Move the object refcount handling to the SelectObject backend functions.
-      gdi32: Don't hold the GDI lock while calling the SelectObject backends.
-      gdi32: Don't hold the GDI lock while calling the driver SelectFont function.
-
-Anatoly Lyutin (2):
-      user32/tests: Fix test for switch maximized MDI children.
-      gdi32: printdrv: Use umask for creating a spool file.
-
-Andrew Talbot (13):
-      crypt32: Fix some memory leaks.
-      dmband: Fix a memory leak.
-      dmcompos: Indirection level fix.
-      dswave: Indirection level fix.
-      dmscript: Indirection level fix.
-      dmsynth: Indirection level fix.
-      dmusic: Indirection level fix.
-      dpnet: Indirection level fix.
-      dplayx: Fix some memory leaks.
-      gdi32: Fix a memory leak.
-      itss: Fix a typo.
-      gdiplus: Fix some memory leaks.
-      kernel32: Fix a memory leak.
+Andrew Talbot (11):
+      msvfw32: Fix a memory leak.
+      ole32: Fix some memory leaks.
+      oleaut32: Fix some memory leaks.
+      secur32: Fix some memory leaks.
+      shell32: Fix some memory leaks.
+      urlmon: Fix some memory leaks.
+      winealsa.drv: Fix a memory leak.
+      wined3d: Fix a memory leak.
+      wineps.drv: Fix some memory leaks.
+      wineps.drv: Fix some memory leaks.
+      wininet: Fix a memory leak.
 
 Andrey Turkin (3):
-      server: Implement server-side completion queues and operations on them.
-      server: Allow completion object to be attached to an fd object.
-      kernel32: Pass completion value to ntdll layer.
+      dbghelp: Avoid crashing on files with bogus export table.
+      libwine: Emulate MS linker stub for builtin dlls.
+      wine.inf: Add Protected Storage System Provider key.
 
-Carroll Vance (1):
-      ntoskrnl.exe: Added PsCreateSystemThread.
+Aric Stewart (2):
+      msdmo: Implement DMOGetTypes.
+      msdmo: Improve registration and reading of codecs.
 
-Chris Robinson (6):
-      gdi32: Don't hold the GDI lock when setting the pixel format.
-      wgl: Store the fbconfig id with the window when a pixel format is set.
-      wgl: Don't set a pixel format on windows that already have one.
-      winex11.drv: Load the XComposite extension when available.
-      wgl: Override glFinish and glFlush.
-      winex11: Be compatible with older XComposite headers.
+Chris Robinson (12):
+      winex11: Store a GL-specific drawable with the window.
+      wgl: Remove GL scissors/viewport override.
+      winex11: Use an offscreen redirected window for child OpenGL rendering.
+      winex11: Pass a display parameter when destroying glxpixmaps.
+      winex11: Track async GL drawable changes.
+      winex11: Use a GLXPixmap for offscreen OpenGL rendering when XComposite isn't available.
+      winex11: Load and use GLX_MESA_copy_sub_buffer for swapping buffers on a GLXPixmap.
+      wined3d: Prevent some console spamming.
+      winex11: Create GLXPixmap for bitmaps in SetPixelFormat.
+      winex11: Use the specified format for GL Bitmaps.
+      winex11: Don't choose double buffered modes with gdi support.
+      wined3d: Set D3DCAPS2_CANAUTOGENMIPMAP flag when supported.
 
-Christian Gmeiner (1):
-      advapi32: fix some compiler warnings when using -Wsign-compare.
+Chris Spencer (1):
+      wine.inf: Create psapi.dll as a fake dll.
 
-Clinton Stimpson (4):
-      riched20: Add test for event masks and notifications.
-      riched20: Add tests for text limit behavior.
-      riched20: Adjust event mask when sending EN_CHANGE notification.
-      riched20: Only WM_CHAR respects text limit.
+Damjan Jovanovic (2):
+      ole32: Implement win16 COCREATEGUID.
+      ws2_32: Silently ignore WS_IP_DONTFRAGMENT.
 
-Dan Hipschman (11):
-      widl: Fix alignment comments.
-      widl: Implement pointer descriptions for complex structures.
-      widl: Handle all buffer sizes.
-      widl: Implement complex arrays.
-      widl: Set the pointer description offset to zero if there are no pointers.
-      widl: Respect pointer attributes better.
-      widl: Handle top-level conformance for complex arrays.
-      widl: Clean up write_conf_or_var_desc with string_of_type.
-      widl: Fix top-level conformant arrays with pointer attributes.
-      widl: Fix string codes in pointer descriptions.
-      widl: Fix array alignment bug.
+Dan Hipschman (10):
+      widl: Add newlines to error messages that are missing them.
+      widl: Add a declonly argument to write_type_left.
+      widl: Write types in the format string comments.
+      widl: Correct default pointers.
+      rpcrt4/tests: Make server.idl compatible with MIDL.
+      widl: Make structs containing user types bogus; fix square_test_us test failure.
+      widl: Allow quoted UUIDs.
+      widl: Implement pointer_default functionality.
+      widl: Keep track of every allocated type_t to simplify set_all_tfswrite.
+      rpcrt4, widl: Make pointer layouts compatible with windows; fix conformant array tests.
 
-Detlef Riekenberg (3):
-      comdlg32/tests: Add tests for PRINTDLG->hDevNames.
-      comdlg32/tests: Remove debug code and the tabs.
-      ntdll: Avoid segfault with snoop for exefiles with a broken export table.
+Dan Kegel (3):
+      msvcrt: Improve CR CR LF handling.
+      msvcrt: Fix ^Z handling in text mode.
+      quartz: Make clock test less flaky.
 
-Dmitry Timoshkov (6):
-      winex11.drv: Use symbolic names for MapVirtualKey translation types.
-      kernel32: Add a test for rw mapping of a read-only section.
-      kernel32: Print last error in failure messages of the MapViewOfFile test.
-      gdi32: Use symbolic names for font tags.
-      kernel32: Add a test for read-only mapping of a write-only section, test actual page access rights of the mapping.
-      user32: Make message test pass cleanly under XP SP2.
+David Adam (2):
+      include: Skeleton header for D3DX8.
+      d3dx8: Fix the definition of D3DXVECTOR.
+
+Detlef Riekenberg (6):
+      msi: Dump the database name in a FIXME.
+      winspool: Add a missing export.
+      spoolss: Implement SplInitializeWinSpoolDrv.
+      spoolss/tests: Add tests for SplInitializeWinSpoolDrv.
+      localspl: Implement InitializePrintProvidor.
+      wininet/tests: Initial tests for InternetCanonicalizeUrlA.
+
+Dmitry Timoshkov (3):
+      user32: WM_IME_SETCONTEXT messages are optional.
+      gdi32: Prefer a Microsoft cmap table over other platform ones.
+      user32: Add a message test for ownerdrawn listbox, make it pass under Wine.
 
 EA Durbin (1):
-      winecfg: Implement audio test.
+      kernel32: Implement SetUserGeoID.
 
-Francois Gouget (24):
-      imagehlp: Fix the PTRANSLATE_ADDRESS_ROUTINE() and PREAD_PROCESS_MEMORY_ROUTINE() prototypes.
-      dbghelp: Add some missing prototypes and types.
-      ntdll: Fix compilation on systems that don't support nameless unions.
-      dbghelp & imagehlp: Fix the PSYM_ENUMSYMBOLS_CALLBACK() and PSYM_ENUMERATESYMBOLS_CALLBACK() prototypes.
-      wintrust: Fix compilation on systems that don't support nameless unions.
-      shell32: CSIDL_MYDOCUMENTS is now a synonym for CSIDL_PERSONAL.
-      advapi32: Add and use LSTATUS.
-      imagehlp: Add SYMBOL_INFO_PACKAGE and SymSetSearchPathW().
-      wordpad: Fix compilation on systems that don't support nameless unions.
-      dnsapi: Fix the DnsQueryConfig() prototype.
-      dbghelp: Fix the PENUMLOADED_MODULES_CALLBACK() prototype.
-      regstr.h only defines constants and structures and thus does not need an extern "C" statement.
-      gdiplus: Make gdiplustypes.h C++ compatible.
-      mpr: Move MAX_INTERFACE_NAME_LEN to mprapi.h and add related constants.
-      fci.h: Include basetsd.h.
-      infosoft: indexsrv.idl must import objidl.idl and not unknwn.idl.
-      gdi32: Add a '\n' to a Wine trace.
-      wineoss.drv: Add support for $MIDIDEV to match $AUDIODEV and $MIXERDEV.
-      riched20/tests: Add '\n's to ok() calls.
-      includes: Remove unneeded extern "C" statements.
-      includes: Make headers C++ compatible.
-      ntoskrnl.exe: Fix the PsCreateSystemThread() prototype and declare it in wdm.h.
-      winapi: Assorted win32.api updates.
+Francois Gouget (10):
+      comdlg32/tests: Tell PageSetupDlg() not to bring up a dialog if there is no default printer.
+      user32/tests: Remove an unneeded cast.
+      regedit: Add support for 'regedit -' for feeding regedit from stdin.
+      regedit: Add support for 'regedit /E -', to export the registry to stdout.
+      winex11.drv: Remove an obsolete FIXME comment.
+      winex11.drv: Add the trailing '\n' to a Wine trace.
+      user32/tests: Don't use nameless unions where they are not needed.
+      comctl32/tests: Fix the control's size reporting in an error message.
+      pdh/tests: Fix compilation on systems that don't support nameless unions.
       Assorted spelling fixes.
 
-Gerald Pfeifer (1):
-      README: Update minimal system requirements for FreeBSD.
+Gerald Pfeifer (4):
+      kernel32: Fix signedess for FreeBSD-specific implementation of GetSystemInfo().
+      kernel32: Fix types for the FreeBSD implementation of GlobalMemoryStatusEx().
+      winex11.drv: Move X11DRV_XRender_Installed under #ifdef SONAME_LIBXRENDER.
+      mshtml: Removed unused function get_child_text_node().
 
-Hans Leidekker (3):
-      msvcrt: Implement _wsearchenv.
-      msvcrt: Implement _wspawnv{, e, p, pe}.
-      kernel32: Check for NULL output buffer in FormatMessage{A, W}.
+H. Verbeet (1):
+      d3d9: Release pixel shaders after we're done with them in the visual test.
+
+Hans Leidekker (7):
+      pdh: Implement PdhValidatePath{, Ex}{A, W}.
+      pdh: Add tests for PdhValidatePath{, Ex}{A, W}.
+      pdh: Serialize access to performance counters and queries.
+      pdh: Implement and test PdhCollectQueryDataEx.
+      pdh: Implement PdhCalculateCounterFromRawValue.
+      pdh: Fix parameter handling in PdhAddEnglishCounter{A, W} and PdhCollectQueryDataWithTime.
+      pdh: Skip tests when running on non-english locale.
+
+Huw Davies (8):
+      gdi32: TrueType fonts from the data directory should be added to the registry.
+      gdi32: Only cache the glyph metrics when rendering to a monochrome bitmap or when just retrieving the metrics.
+      gdi32: Let the WINE_GGO_GRAY16_BITMAP case load a bitmap.
+      fonts: Add a Tahoma replacement. Almost entirely based on a patch by Larry Snyder.
+      gdi32: Fixed a misplaced break.
+      fonts: Add a very incomplete Tahoma Bold.
+      comctl32/tests: Skip some font dependent tests if we don't have System or Tahoma installed.
+      comctl32/tests: Don't assume that the default font height is 16 pixels.
 
 Hwang YunSong(황윤성) (2):
-      mshtml: Updated Korean resource.
-      wordpad: Updated Korean resource.
+      wineboot: New Korean resource.
+      winecfg: Updated Korean resource.
 
-Jacek Caban (31):
-      mshtml: Store HTMLElement struct instead of pointer in HTMLAnchorElement.
-      mshtml: Store HTMLElement struct instead of pointer in HTMLBodyElement.
-      mshtml: Added get_body test.
-      mshtml: Store HTMLElement struct instead of pointer in HTMLInputElement.
-      mshtml: Store HTMLElement struct instead of pointer in HTMLSelectElement.
-      mshtml: Store HTMLElement struct instead of pointer in HTMLTextAreaElement.
-      mshtml: Make HTMLBodyElement child object of HTMLTextContainer.
-      mshtml: Don't use node_type from HTMLNode object.
-      mshtml: Get rid of node_type variable in HTMLNode object.
-      mshtml: Forward node ref calls to IHTMLDOMNode interface.
-      mshtml: Return NULL for empty results in get_style_attr.
-      mshtml: Added more IHTMLStyle getters implementation.
-      mshtml: Added HTMLStyle::get_textDecoration* implementation.
-      mshtml: Added get_styleSheets implementation.
-      mshtml: Added IHTMLStyleSheetsCollection::get_length implementation.
-      mshtml: Fixed IHTMLTxtRange::get_text implementation with no nsrange associated.
-      mshtml: Added more tests.
-      mshtml: Added Exec(IDM_FONT) stub implementation.
-      shdocvw: Added WebBrowser::FullScreen property implementation.
-      shdocvw: Added WebBrowser::Resizable property implementation.
-      mshtml: Don't crash in UIActivate if Gecko is not available.
-      hlink: Added HlinkGetSpecialReference stub.
-      mshtml: Added IHTMLDocument5 interface stub implementation.
-      mshtml: Added get_compatMode implementation.
-      mshtml: Added IHTMLElement2::put_scrollTop and put_scrollLeft implementation.
-      mshtml: Forward IHTMLTextContainer::put_scrollTop and put_scrollLeft calls to IHTMLElement2 interface.
-      mshtml: Ignore app's User-Agent header and Content-Type if there is no data to post.
-      mshtml: Added IDM_COPY in browse mode implementation.
-      mshtml: Added generic get_nsinterface function and use it in get_ns_command_state.
-      mshtml: Use get_nsinterface in exec_print and do_ns_command.
-      mshtml: Use get_nsinterface in set_ns_editmode and get_editor_controller.
+Jacek Caban (30):
+      mshtml: Remove no longer used defines.
+      mshtml: Use GetWineURL in before_async_open.
+      urlmon: Added IID_IBindStatusCallbackHolder to uuid.
+      urlmon: Wrap callback in RegisterBindStatusCallback.
+      urlmon: Added more strict QueryInterface tests.
+      urlmon: Added more RegiterBindStatusCallback tests.
+      urlmon: Get rid of no longer needed IHttpNegotiate wrapper.
+      mshtml: Added get_tagName implementation.
+      mshtml: Pass the IDispatch interface of the element right-clicked on to IDocHostUIHandler_ShowContextMenu if applicable instead of always the document's one.
+      mshtml: Pass HTMLDOMNode pointer to its destructor.
+      mshtml: Pass HTMLDOMNode pointer to HTMLElement's destructor.
+      mshtml: Use vtbl for node destructors.
+      mshtml: Move nodes' QueryInterface implementation to vtbl.
+      mshtml: Move common code to separated function.
+      mshtml: Return IHTMLElementCollection instead of IDispatch from HTMLElementCollection_Create.
+      mshtml: Include document element in collection returned by IHTMLDocument2::get_all.
+      mshtml: Added IHTMLOptionElement interface stub implementation.
+      mshtml: IHTMLElementContainer::item rewrite.
+      mshtml: Added IHTMLSelectElement::get_length implementation.
+      mshtml.idl: Added IHTMLInputTextElement interface.
+      mshtml: Added IHTMLInputTextElement interface implementation.
+      mshtml: Move most code from handle_editor_load to exec_editmode.
+      mshtml: Skip tests if we can't get body object - it means that there is no Gecko available.
+      actctx: Rename version to assembly_version.
+      shdocvw: Fixed tests on IE7.
+      urlmon: Fixed test on IE7.
+      mshtml: Fixed tests on IE7.
+      mshtml: Move init_nsevents call from start_binding to read_stream_data to avoid race.
+      mshtml: Fixed test crash on Windows.
+      mshtml: Added support for installing Gecko from the local file.
 
-James Hawkins (6):
-      user32: Add tests for the DDE pack functions.
-      user32: Set uiLo and uiHi to zero on error.
-      kernel32: Fix the case where memory is freed twice in GlobalFree.
-      kernel32: Return TRUE for all pointer params in GlobalUnlock.
-      kernel32: Don't crash accessing an invalid handle in GlobalSize.
-      user32: Add a test that shows ddeml string handles use local atoms.
+James Hawkins (4):
+      user32: Test the ddeml client interface.
+      user32: Set client_pid to zero before initializing dde.
+      user32: Move the test_ddeml_client function closer to the other ddeml client test functions.
+      user32: Test the ddeml server interface.
 
-Jeff Latimer (1):
-      mpr: Check for out of memory condition.
+John Klehm (3):
+      msinkaut.idl: Declare the IInkCollector interface and its dependencies.
+      nkobj: Use an internal header.
+      inkobj: Stub implementation of IInkCollector.
 
-Juan Lang (112):
-      msi: Don't crash if record has no fields.
-      msi: Make sure nested is initialized.
-      msi: Initialize nested.
-      wininet: Create a TCP connection if FLAG_ICC_FORCE_CONNECTION is specified.
-      crypt32: Update comments.
-      crypt32: Add a test of an indefinite-length sequence.
-      crypt32: Correct GET_LEN_BYTES for the indefinite-length form.
-      crypt32: Correct an optimization.
-      crypt32: Fix alignment on 64-bit systems.
-      crypt32: Use a simpler prototype for array decoding functions.
-      crypt32: Add a decoded parameter to AsnDecodeSequence.
-      crypt32: Make a decode OID function that returns the number of bytes decoded.
-      crypt32: Return bytes decoded when decoding a sequence.
-      crypt32: Return bytes decoded when copying DER-encoded bytes.
-      crypt32: Return bytes decoded when decoding an alt name entry.
-      crypt32: Pass bytes decoded pointer to AsnDecodeArray.
-      crypt32: Return bytes decoded from AsnDecodeArray.
-      crypt32: Remove an unneeded WINAPI.
-      crypt32: Introduce a helper function to get encoded length that allows indefinite-length encoding.
-      crypt32: Set bytes decoded in all success paths.
-      crypt32: Support indefinite-length encoded arrays.
-      crypt32: Allow items in an array to be indefinite-length encoded.
-      crypt32: Use simpler form for internal time decoding functions.
-      crypt32: Separate DecodeInt into an internal and external version.
-      crypt32: Move a comment that belonged elsewhere.
-      crypt32: Introduce a space checking helper for functions that don't allocate memory and use it where appropriate.
-      crypt32: Use internal decode int function a couple more places.
-      crypt32: Temporarily change prototype of AsnDecodeIntInternal to the CryptDecodeObjectEx form.
-      crypt32: Use AsnDecodeIntInternal where an internal function is called for.
-      crypt32: Implement DecodeAltName with DecodeAltNameInternal.
-      crypt32: Don't use exception handler when decoding time zone, caller already does.
-      crypt32: Get rid of encoding type from AsnDecodeSequenceItems, it's never checked.
-      crypt32: Get rid of encoding type argument to AsnDecodeSequence, it isn't used.
-      crypt32: Use internal form for all internal decoding functions.
-      crypt32: Set *pcbDecoded in every function.
-      crypt32: Allow a sequence to have an indefinite-length encoding.
-      crypt32: Simplify DecodePathLenConstraint.
-      crypt32: Allow indefinite-length encoding of sequence items.
-      crypt32: Simplify AsnDecodeSequenceItems a tiny bit.
-      crypt32: Use correct encoded length when decoding a sequence.
-      crypt32: Test and correct decoding indefinite-length-encoded PKCS content.
-      crypt32: Explicitly count bytes to copy in DecodeCopyBytes.
-      crypt32: ret is already true, don't retest it.
-      crypt32: Use decode function's returned decoded length to advance pointer when decoding an array.
-      crypt32: Pass length rather than entire message to CRYPT_EncodeContentLength.
-      crypt32: Implement streamed encoding of an indefinite-length data message.
-      crypt32: Fix alignment for 64-bit systems.
-      setupapi: Correct type to match PSDK.
-      setupapi: Fix return type.
-      setupapi: Fix typo.
-      setupapi: Add missing prototypes and definitions, and change function prototypes to match.
-      setupapi: Add tests for SetupDiCreateDeviceInfo.
-      setupapi: Add stubs for SetupDiGetDeviceInstanceIdA/W.
-      setupapi: Add tests for SetupDiGetDeviceInstanceId.
-      setupapi: Add a placeholder for devices.
-      setupapi: Implement SetupDiEnumDeviceInfo.
-      setupapi: Implement SetupDiGetDeviceInstanceIdA on top of SetupDiGetDeviceInstanceIdW.
-      setupapi: Add error checking to SetupDiCreateDeviceInfoW stub.
-      setupapi: Implement SetupDiCreateDeviceInfoW.
-      setupapi: Implement SetupDiGetDeviceInstanceIdW.
-      setupapi: Implement SetupDiGetDeviceRegistryPropertyA/W.
-      setupapi: Implement SetupDiSetDeviceRegistryPropertyA/W.
-      setupapi: Make a helper to convert a GUID to a string.
-      setupapi: Save device description to registry when creating a device.
-      setupapi: Save class GUID to registry when creating a device.
-      setupapi: Devices created by SetupDiCreateDeviceInfo are "phantoms", and are deleted from the registry when the set that contains them is closed.
-      setupapi: Implement SetupDiGetClassDescriptionExA.
-      setupapi: Add stub for SetupDiRegisterDeviceInfo.
-      setupapi: Add tests for SetupDiRegisterDeviceInfo.
-      setupapi: Implement SetupDiRegisterDeviceInfo.
-      setupapi: Implement SetupDiGetClassDevsW.
-      setupapi: Respect samDesired in SetupDiOpenClassRegKeyExW.
-      setupapi: Set last error on failure in SetupDiOpenClassRegKeyExW.
-      setupapi: Add stubs for SetupDiCreateDeviceInterfaceA/W.
-      setupapi: Add tests for SetupDiCreateDeviceInterface.
-      setupapi: Implement SetupDiCreateDeviceInterfaceA on top of SetupDiCreateInterfaceW.
-      setupapi: Add error checking to SetupDiCreateDeviceInterfaceW stub.
-      setupapi: Remove a redundant parameter check.
-      setupapi: Set last error on invalid input.
-      setupapi: Implement SetupDiCreateDeviceInterfaceW.
-      setupapi: Implement SetupDiEnumDeviceInterfaces.
-      setupapi: When enumerating an interface, add the interface to its device.
-      setupapi: Add tests for SetupDiGetDeviceInterfaceDetail.
-      setupapi: Implement SetupDiGetDeviceInterfaceDetailA/W.
-      setupapi: Add test showing value of path.
-      setupapi: Create symbolic link value when interface is created.
-      setupapi: Fix prototype of SetupDiCreateDeviceInterfaceRegKeyA/W.
-      setupapi: Convert device's interfaces to a standard list.
-      setupapi: Add stubs for SetupDiCreateDeviceInterfaceRegKeyA/W.
-      setupapi: Store pointer to an interface's device in the interface instance.
-      setupapi: Return the interface's device from SetupDiGetDeviceInterfaceDetailA/W.
-      setupapi: Implement SetupDiCreateDeviceInterfaceRegKeyA/W.
-      setupapi: Store pointer to set in device, and use it to make sure that a device is a member of a set.
-      setupapi: Save interface to registry when creating it.
-      setupapi: Implement SetupDiDeleteDeviceInterfaceRegKey.
-      setupapi: When freeing an interface, delete it from the registry if its device is a phantom.
-      setupapi: Implement SetupDiGetDeviceInfoListDetailA/W.
-      setupapi: Partially implement SetupDiGetClassDevsExW.
-      setupapi: Implement SetupDiGetClassDevsW on top of SetupDiGetClassDevsExW.
-      setupapi: Implement SetupDiGetClassDevsA on top of SetupDiGetClassDevsExW.
-      setupapi: Implement SetupDiGetClassDevsExA.
-      crypt32: Partially implement CryptQueryObject.
-      crypt32: Fix CryptQueryObject for embedded PKCS7 signatures.
-      crypt32: Support PKCS messages wrapped in a PKCS content info in CryptQueryObject.
-      crypt32: Add/improve some traces.
-      crypt32: Rename a couple of functions.
-      crypt32: Add a function to serialize a store to an arbitrary stream.
-      crypt32: Implement CRYPT_WriteSerializedStoreToFile using CRYPT_WriteSerializedStoreToStream.
-      crypt32: Add definitions used by CertSaveStore.
-      crypt32: Implement CertSaveStore.
-      crypt32: Use CertSaveStore to save file stores.
-      crypt32: Move CertSaveStore to serialize.c.
+Juan Lang (58):
+      crypt32: Add a helper function to create a file store from an already-initialized memory store.
+      crypt32: Create file store directly in CRYPT_FileNameOpenStoreW.
+      crypt32: Allow file stores to support more than one type of file.
+      crypt32: Implement opening file name stores from files that contain PKCS7 messages.
+      crypt32: Be more strict about format of serialized store files.
+      wintrust: Implement SoftpubDefCertInit.
+      wintrust: Improve SoftpubLoadMessage for WTD_CHOICE_CERT.
+      wintrust: In SoftpubLoadSignature, don't assume a message is present.
+      wintrust: Don't warn for generic cert verify action.
+      crypt32: Correct copying a signer info's attributes.
+      wintrust: Add stub for WVTAsn1SpcSpOpusInfoDecode.
+      wincrypt.h: Add a few more definitions.
+      crypt32: Don't check decoded length against encoded length for indefinite-form sequences.
+      ntdll: Fix a typo.
+      wintrust: Copy time to verify from cert info.
+      wintrust: Use file's creation time as time to verify.
+      wintrust: Remove bad check that prevents root certificates from appearing time valid.
+      wintrust: Use verify time rather than current time to check certificate chain.
+      crypt32: Fix a silly variable name.
+      crypt32: Improve trace.
+      crypt32: Don't fail if buffer is NULL, just return required size.
+      crypt32: Don't fail if a cert is invalid, Windows doesn't either (tests to follow).
+      crypt32: Always set cNumOIDs.
+      crypt32: Don't set ret to FALSE when it isn't checked.
+      crypt32: Reduce valid usages count when removing a valid usage.
+      crypt32: Add tests for CertGetValidUsages.
+      crypt32: Don't assume a maximum of 32 valid usages.
+      setupapi: Remove a misleading fixme.
+      crypt32: Remove some tests that fail inconsistently on Windows.
+      crypt32: Print values of failing time tests.
+      crypt32: Add an extra pointer alignment to avoid possible memory corruption.
+      softpub.h: Add missing definitions.
+      wintrust: Trace input to WinVerifyTrust.
+      wintrust: Add a helper function to initialize chain creation parameters.
+      wintrust: Add a helper function to create a chain for a signer.
+      wintrust: Implement GenericChainCertificateTrust.
+      wintrust: Implement GenericChainFinalProv.
+      wintrust: Add traces.
+      wintrust: Add generic chain action to known actions.
+      crypt32: Allow imprecision of one millisecond in time decoding to fix test failures on Windows.
+      crypt32: Remove superficially different certificates.
+      crypt32: Add another test to show that time validity nesting isn't checked.
+      crypt32: Test encoding/decoding name constraints.
+      crypt32: Implement name constraint encoding.
+      crypt32: Allow either NULL or empty strings where one or the other is expected.
+      crypt32: Don't check tag in AsnDecodeIntInternal, caller already checks it.
+      crypt32: Implement name constraints decoding.
+      crypt32: Implement name constraint checking.
+      setupapi: Test SetupDiInstallClass.
+      setupapi: SetupOpenAppendInfFile is implemented, so remove #if 0 around it.
+      setupapi: Correct creating the class key.
+      setupapi: Install more items when installing a class.
+      setupapi: Add stubs for SetupDiCreateDevRegKeyA/W.
+      setupapi: Implement SetupDiCreateDevRegKeyA on top of SetupDiCreateDevRegKeyW.
+      setupapi: Add helper function to open a device's hardware key.
+      setupapi: Don't require caller to pass a SP_DEVINFO_DATA pointer to SETUPDI_AddDeviceToSet.
+      setupapi: Add a device ID member to DeviceInfo.
+      setupapi: Implement SetupDiCreateDevRegKeyW.
+
+Kai Blin (2):
+      secur32: Remove hardcoded assumption that the SECBUFFER_DATA is always at index 1 for en/decrypting.
+      secur32: ntlm_auth returns BH if the connection to winbindd fails.
 
 Karl Relton (1):
-      msvcrt: New implementation of fcvt.
+      wineserver: Allow already peeked messages to merge.
+
+Ken Thomases (1):
+      ntdll: Work around a bug in Mac OS X's getdirentries().
 
 Konstantin Kondratyuk (2):
-      mpr: Correct usage of dwScope and dwEnumScopes.
-      include/npapi.h: Add some constants.
+      mpr: Implement WNetGetResourceInformation functions.
+      net.exe: Add Russian resources.
 
-L. Rahyen (1):
-      user32: Implement initial stubs for all raw input functions.
+Lei Zhang (1):
+      comctl32: Fix monthcal hit tests.
 
-Lionel_Debroux (2):
-      mlang: Fix memory leaks in error path (found by Smatch).
-      mlang: Fix memory leaks in error paths (found by Smatch).
+Lionel Debroux (2):
+      advapi32/tests: Fix memory leaks (found by Smatch).
+      advapi32/tests: Fix a typo.
 
-Louis Lenders (2):
-      wtsapi32: Add stub for WTSRegisterSessionNotification.
-      wtsapi32: Add stub for WTSUnRegisterSessionNotification.
+Louis Lenders (5):
+      faultrep: Add stub for ReportFault.
+      d3dx8: Add DllMain.
+      d3dx8: Update spec file.
+      wsock32: Export 3 more functions.
+      wine.inf: Add 2 keys for *.chm files.
 
-Maarten Lankhorst (10):
-      gdi: Remove support for libicu and all dependencies.
-      gdi: Implement BiDi classification of characters and copying according to them.
-      gdi: Implement explicit resolving in BiDi.
-      gdi: Implement weak resolving in BiDi.
-      gdi: Implement neutrals resolving in BiDi.
-      gdi: Implement implicit resolving in BiDi.
-      gdi: Implement line-by-line phase of the BiDi algorithm.
-      wineoss: Silence some harmless warnings.
-      dsound: Check if hardware buffer is big enough before accepting it.
-      wineoss: Only initialise midi once.
+Luke Bratch (1):
+      winecfg: Add more keyboard shortcuts.
 
-Michael Stefaniuc (7):
-      mshtml: Move 'inline' to the beginning of the declaration directly after the storage specifier.
-      janitorial: Remove two fresh redundant NULL checks before HeapFree(). Found by Smatch.
-      kernel32: Fix a memory leak. Found by cross referencing Andrew Talbot's list of potential memory leaks with Smatch's view of the same problem.
-      ole32: Free memory on error path (found by Smatch).
-      advapi32: Move the storage specifier to the beginning of the declaration.
-      crypt32: Add missing parameter to a TRACE.
-      server: Include stdarg.h in completion.c. Needed for older gcc versions.
+Maarten Lankhorst (9):
+      gdi32: Fix meaning and use of bidirectionality flags.
+      gdi32: Fix 3 tiny bugs in bidi.
+      dsound: Use smaller buffers for wavein capture.
+      dsound: Call waveInUnPrepareHeader and waveInPrepareHeader when submitting new buffer.
+      wineoss: Seperate wave-in and wave-outs shared use of a single OSS_DEVICE struct.
+      dsound: Fix IDirectSoundBuffer_GetPosition.
+      winmm: Set default sound driver to alsa,oss,coreaudio.
+      dsound: Release buffer before reopening when buffer is too small.
+      wineoss: Remove useless fixme shown on initialisation.
 
-Mikolaj Zalewski (26):
-      gdi32: Store child font links as pointers to struct Face instead of filename/index.
-      gdi32: Implement AddFontMemResourceEx (based on a patch of Byeong-Sik Jeon).
-      gdi32: If freetype fails try to load manually fonts wrapped as PE resources.
-      gdi32: Return the correct font type, ntmFlags and PitchAndFamily for Type1 fonts.
-      advapi32: QueryObjectSecurity should return a self-relative security descriptor and not overflow the buffer.
-      winex11.drv: wintab: Add a missing break.
-      winex11.drv: wintab: Add missing CTX_PKTDATA support.
-      winex11.drv/wintab32: Make wintab strings in winex11.drv Unicode, implement WTInfoW.
-      wintab32: Store the context internally as Unicode, implement WTOpenW and WTGetW.
-      wintab32: Add DisableThreadLibraryCalls.
-      advapi32: Fix a test.
-      ntdll: Add RtlAddAuditAccessAceEx.
-      advapi32: Add AddAuditAccessAceEx.
-      advapi32: Make ConvertStringSidToSid not to ignore the first subauthority.
-      wine.inf: add four keys found on Windows XP to Active Setup\Installed Components.
-      include: Fix the definition of VALID_INHERIT_FLAGS.
-      advapi32: Implement ConvertSecurityDescriptorToStringSecurityDescriptor[AW].
-      advapi32: Make ConvertSidToStringSid use helper functions of ConvertSecurityDescriptorToStringSecurityDescriptor.
-      advapi32: The lpServiceStartName should default to LocalSystem for Win32 services.
-      msi: Add some already implemented function to the spec file.
-      advapi32/ntdll: MakeRelativeSD should preserve NULL pointers (with testcase).
-      advapi32/ntdll: GetSecurityDescriptorOwner/Group should fill isDefaulted also for NULL sids.
-      advapi32: Make ConvertStringSecurityDescriptorToSecurityDescriptor write the ACL.
-      advapi32: In ConvertStringSecurityDescriptorToSecurityDescriptor "AU" should be checked before "A" (with testcase).
-      advapi32: Implement GetPrivateObjectSecurity (with test).
-      advapi32: Fix GetServiceDisplayNameA for cchBuffer == 0.
+Marcus Meissner (8):
+      kernel32: Test IsBadReadPtr/ IsBadCodePtr / IsBadWritePtr.
+      mpr: Initialize lpwSystem.
+      pdh: Removed superflous NULL ptr check.
+      d3d9/tests: Initialize shader to NULL.
+      setupapi: Use correct parameter in pointer init.
+      advpack: Handle localized C:\Program Files.
+      crypt32/tests: Fixed buffer overflow in encode test.
+      imm32: Avoid spamming the debug output.
 
-Mikołaj Zalewski (3):
-      advapi32: Add some more rights constants for ConvertStringSecurityDescriptorToSecurityDescriptor.
-      shell32: Make the shell view control Unicode.
-      shell32: shlview: Change some more ANSI calls to Unicode.
+Mikolaj Zalewski (6):
+      oleaut32: olepicture: Support loading Aldus Placable Metafiles.
+      oleaut32: olepicture: When drawing metafiles set the coordinates system so that it is drawn in the correct place.
+      advapi32: security: Remove unneeded FIXME.
+      oleview: Don't crash if the parent type couldn't be retrieved.
+      ole32: OleIsRunning should return TRUE if the class doesn't implement IRunnableObject.
+      oleaut32: Function kind for dispatch interfaces should be FUNC_DISPATCH.
 
-Misha Koshelev (3):
-      wininet: Track child handles, free all child handles on WININET_FreeHandle as native.
-      wininet/tests: Add test to show that InternetCloseHandle closes open child handles too.
-      wininet: When sending INTERNET_STATUS_HANDLE_CLOSING make sure the freed handle is not yet available.
+Misha Koshelev (1):
+      urlmon: Increment/decrement reference count when internet handles are created/destroyed.
 
-Peter Oberndorfer (5):
-      configure: Recognize i686-mingw32 prefix for crosscompiling.
-      include: Add new processor feature constants.
-      user32/tests: Fix dialog proc prototypes.
-      ntdll: NtAreMappedFilesTheSame semi stub.
-      winhttp: Add WinHttpGetIEProxyConfigForCurrentUser stub.
+Nigel Liang (1):
+      include/winsock.h: Fix parenthesis mismatch.
 
-Philip Nilsson (2):
-      ws2_32: Set IPV6_V6ONLY when required to be compatible with Windows.
-      ws2_32/tests: Add a testcase for binding with IPv6 and IPv4 on the same port.
+Reece H. Dunn (1):
+      comctl32: Fixed drawing the trackbar background when themes are installed.
 
-Rob Shearman (12):
-      credui: The pszUserName parameter in CredUIPromptForCredentialsW is in/out so dump the string on entry to the function.
-      widl: Initialise cval in make_expr.
-      widl: Fix detection of complex arrays.
-      widl: Add support for strings embedded in structures.
-      widl: Fix write_string_tfs for strings declared as arrays.
-      widl: Missing size_is or length_is attributes should generate 0xffffffff for the correlation description.
-      widl: None of the non-fixed arrays have fixed sizes, so don't set the alignment to anything and return a size of 0 from get_required_buffer_size_type.
-      rpcrt4: Fix a copy-and-paste error in RpcAuthInfo_Release that caused a double free of memory.
-      rpcrt4: Implement RpcSmDestroyClientContext and RpcSsDestroyClientContext.
-      userenv: Add a stub for UnloadUserProfile.
-      widl: Write prototypes for context handle rundown rountines into generated header files.
-      widl: Generate client and server code for using context handles.
+Rob Shearman (14):
+      user32: Add tests for DefWindowProc processing the undocumented 0x3B message.
+      wineboot: Add a timeout dialog when any WM_QUERYENDSESSION or WM_ENDSESSION messages take too long.
+      server: Move set_security_object to handle.c and set_object_sd to object.c.
+      server: Add a new get_security_object call for getting the security descriptor of an object.
+      server: Use ACL_REVISION in create_default_dacl instead of MAX_ACL_REVISION since we don't use any features from later ACL revisions.
+      advapi32: Implement SetFileSecurityW on top of NtSetSecurityObject.
+      advapi32: Allow GetFileSecurityA/W to work on files that have been opened already with restricted sharing flags.
+      server: Add a simple mapping from Unix uids to NT SIDs.
+      server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk.
+      server: Add primitive support for setting and getting the security descriptor of files based on their Unix permissions.
+      server: Remove an unnecessary check from file_set_fd.
+      server: Only call fchmod in file_set_fd if the mode actually changed.
+      oleaut32: Add a check for a test that depends on the decimal separator being a dot.
+      ole32: RegisterDragDrop should return E_OUTOFMEMORY in the case that COM isn't intialised, instead of CO_E_NOTINITIALIZED.
 
-Roderick Colenbrander (6):
-      wined3d: Don't create a pbo for system memory surfaces.
-      wined3d: Update list of pci ids.
-      wined3d: Add pbo support for compressed textures.
-      wined3d: Better video memory reporting.
-      wined3d: The amount of video memory is set in FillGLCaps unless overridden using a registry option.
-      wined3d: Move video memory tracking to the adapter.
+Robert Shearman (1):
+      mshtml: Set the SETUP_IS_CHROME_WRAPPER to FALSE as the embedded Gecko is always used to display content and not chrome.
 
-Stefan Dösinger (45):
-      wined3d: Add D3DSI_TEXLD_PROJECT and BIAS to d3d9types.h.
-      wined3d: Add a fixme for D3DCMP_NOTEQUAL and D3DCMP_EQUAL.
-      wined3d: Use GL_NV_depth_clamp to implement clipping disable.
-      wined3d: Do not allocate memory if there's a pbo.
-      wined3d: Do not invalidate the sysmem copy if a pbo exists.
-      wined3d: Start of some surface cleanup.
-      wined3d: Move resource methods to the base surface class.
-      wined3d: Move non-rendering surface specific code to the base class.
-      wined3d: Base surface move, part 2.
-      wined3d: Reorder surface impl predeclarations.
-      wined3d: Clean up SetGLTextureDesc and GetGLDesc.
-      wined3d: Clean up SetFormatDesc.
-      wined3d: Clean up AddDirtyRect.
-      wined3d: Clean up SetMem.
-      wined3d: Clean up IWineD3DSurface::ReleaseDC.
-      wined3d: Remove a pbo check.
-      wined3d: Move DIB section creation to the base surface implementation.
-      wined3d: Give GDI surfaces their own GetDC copy.
-      wined3d: Move lastActiveRenderTarget cleanup to the device.
-      wined3d: Give GDI surfaces their own release implementation.
-      wined3d: Move the software blitting to the base surface class.
-      wined3d: Untie culling and offscreen rendering.
-      wined3d: Set the stencil mask for both faces.
-      wined3d: Fix a copypaste error.
-      wined3d: Enable the stencil test if two sided stencil is used.
-      wined3d: Disable two sided stencil if it is supported, but not enabled.
-      wined3d: Keep the selected stencil setup face set to GL_FRONT.
-      wined3d: Fix a typo in shader_glsl_cross.
-      wined3d: Check for NULL streams.
-      wined3d: Fix a typo in the surface code.
-      wined3d: Add signed format conversion for glsl.
-      wined3d: Recompile glsl pixelshaders if the sampler format changes.
-      wined3d: Unify pixel format correction.
-      wined3d: SRGB write correction emulation.
-      wined3d: A0 needs the .x swizzle.
-      wined3d: Put V8U8 back into the UNKNOWN format group.
-      wined3d: Improve projected texture handling in arb.
-      wined3d: Add support for some unimplemented instructions to arb shaders.
-      wined3d: Implement WINED3DSI_TEXLD_BIAS in arb.
-      wined3d: Add modifier handling to cnd in arb.
-      wined3d: Handle modifiers in cmp.
-      wined3d: Add crs and pow instruction support.
-      wined3d: Add dp2add support to arb shaders.
-      wined3d: Implement the nrm instruction in arb.
-      wined3d: Add sincos support to arb shaders.
+Roderick Colenbrander (12):
+      wined3d: CreateFakeGLContxt/ReleaseFakeGLContext doesn't need ENTER_GL/LEAVE_GL and they are making GDI calls.
+      wined3d: CreateContext should not be called between ENTER_GL/LEAVE_GL.
+      wined3d: Only call ENTER_GL for the parts in ActivateContext that actually need it.
+      wined3d: WINAPI compile fixes.
+      ddraw: Fix RegDeleteTreeA/W compile issues when building ddraw for Windows.
+      wined3d: Render to the correct hwnd/hdc.
+      wined3d: Make sure we receive a hw accelerated pixel format with OpenGL support.
+      wined3d: Remove an unused ChoosePixelFormat line.
+      wined3d: Use EXT-versions of glBlend*.
+      wined3d: Merge p8 palette initialization code.
+      wined3d: Fix inverse palette lookup for P8 surfaces.
+      wined3d: Use a fragment shader to do P8 palette conversion in hardware.
 
-Stefan Leichter (9):
-      dinput8: Remove 'recursive registry key delete' function.
-      dinput: Remove 'recursive registry key delete' function.
-      ddrawex: Remove 'recursive registry key delete' function.
-      ddraw: Remove 'recursive registry key delete' function.
-      d3dxof: Remove 'recursive registry key delete' function.
-      comcat: Remove 'recursive registry key delete' function.
-      browseui: Remove 'recursive registry key delete' function.
-      amstream: Remove 'recursive registry key delete' function.
-      ole32: Added version resource for ole2nls.dll.
+Roy Shea (2):
+      net.exe: Added missing service name.
+      qmgr: Skeleton implementation of Background Intelligent Transfer Service (BITS).
 
-Thomas Weidenmueller (1):
-      shell32: Implement SHCreatePropSheetExtArrayEx.
+Rémi Assailly (2):
+      user32: Moved some 16-bit functions.
+      user32: Renamed and moved SetDeskPattern.
 
-Tijl Coosemans (2):
-      ws2_32/tests: Don't wait for FD_CONNECT event when non-blocking connect() was successful.
-      msvcrt: Resolve symbols clashes with FreeBSD libc.
+Stefan Dösinger (17):
+      wined3d: Add texreg2rgb support to arb shaders.
+      wined3d: Add proper input register handling to texreg2ar/gb.
+      wined3d: Implement texbeml in arb shaders.
+      wined3d: Enable the mNxN implementation for pixel shaders.
+      wined3d: Bem is an instruction and uses registers.
+      wined3d: Reverse the position fixup if the pshader is reading vpos.
+      wined3d: Take care against overwriting a source register in cmp.
+      wined3d: d3d ignores the sign of the input value in the log instruction.
+      wined3d: Implement the vFace register.
+      wined3d: Nested loop support.
+      d3d9: Do not rely on CreateVertexShader failing.
+      wined3d: Clear up in Init3D if something fails.
+      ddraw: Cope with Init3D failures.
+      wined3d: Silently ignore setting the 0 texture on gdi surfaces.
+      ddraw: Do not fail on surface creation errors, skip instead.
+      ddraw: Downgrade the SetCooperativeLevel FIXME to a TRACE.
+      wined3d: Add a (nested) loop test.
 
-Vitaliy Margolen (6):
-      mshtml: Fix typo.
-      mshtml: Fix another typo and add trace.
-      dinput: Move get_config_key to a common place.
-      dinput: Add a helper function to open configuration registry keys.
-      dinput: Make default dead zone configurable.
-      dinput: Implement GetDeviceInfo for evdev joystick.
+Stefan Leichter (6):
+      ole32: Define WINE_FILEVERSION in version resource of ole2nls.dll too.
+      gdi32: Define WINE_FILEVERSION in version resource of gdi.exe.
+      kernel32: Define WINE_FILEVERSION in version resource of krnl386.exe.
+      user32: Define WINE_FILEVERSION in version resource of user.exe.
+      winecfg: Replace call to remove_path with RegDeleteTreeW.
+      regedit: Replace call to delete_branch with RegDeleteTreeA.
+
+Stéphane LOEUILLET (1):
+      Fix substandard wine.desktop file.
+
+Ulrich Czekalla (1):
+      d3d9: Fix crash in texture test.
+
+Vitaliy Margolen (3):
+      dinput: Fix typo.
+      winex11drv: Ignore mouse move events when position did not change only when other events are present.
+      dinput: Use ClipCursor() to keep mouse from leaving the window.
+
+Vitaly Lipatov (1):
+      tools/wine.desktop: Add Name field in Russian.
 
 --
 Alexandre Julliard
diff --git a/ChangeLog b/ChangeLog
index 068a2c1..32c0f3b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1372 @@
+2007-10-06  Vitaly Lipatov <lav@etersoft.ru>
+
+	* tools/wine.desktop:
+	tools/wine.desktop: Add Name field in Russian.
+
+2007-10-11  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/wininet/cookie.c:
+	wininet: Fix a memory leak.
+
+2007-10-12  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/kernel32/locale.c:
+	kernel32: Get rid of the NLS_RegOpenSubKey function, its behavior is broken.
+
+2007-10-12  John Klehm <xixsimplicityxix@gmail.com>
+
+	* dlls/inkobj/Makefile.in, dlls/inkobj/inkcollector.c,
+	  dlls/inkobj/inkobj_internal.h, include/msinkaut.idl:
+	inkobj: Stub implementation of IInkCollector.
+
+2007-10-11  John Klehm <xixsimplicityxix@gmail.com>
+
+	* dlls/inkobj/inkobj.c, dlls/inkobj/inkobj_internal.h:
+	nkobj: Use an internal header.
+
+2007-10-12  Marcus Meissner <marcus@jet.franken.de>
+
+	* dlls/imm32/imm.c:
+	imm32: Avoid spamming the debug output.
+
+2007-10-11  Misha Koshelev <mk144210@bcm.edu>
+
+	* dlls/urlmon/http.c:
+	urlmon: Increment/decrement reference count when internet handles are
+	created/destroyed.
+
+2007-10-11  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* dlls/wined3d/device.c, dlls/wined3d/surface.c,
+	  dlls/wined3d/wined3d_private.h:
+	wined3d: Use a fragment shader to do P8 palette conversion in hardware.
+
+	* dlls/wined3d/surface.c:
+	wined3d: Fix inverse palette lookup for P8 surfaces.
+	The previous method didn't take into account duplicate entries for the same
+	color.
+
+2007-10-11  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/setupapi/devinst.c:
+	setupapi: Implement SetupDiCreateDevRegKeyW.
+
+	* dlls/setupapi/devinst.c:
+	setupapi: Add a device ID member to DeviceInfo.
+
+	* dlls/setupapi/devinst.c:
+	setupapi: Don't require caller to pass a SP_DEVINFO_DATA pointer to
+	SETUPDI_AddDeviceToSet.
+
+	* dlls/setupapi/devinst.c:
+	setupapi: Add helper function to open a device's hardware key.
+
+	* dlls/setupapi/devinst.c:
+	setupapi: Implement SetupDiCreateDevRegKeyA on top of SetupDiCreateDevRegKeyW.
+
+	* dlls/setupapi/devinst.c, dlls/setupapi/setupapi.spec,
+	  include/setupapi.h:
+	setupapi: Add stubs for SetupDiCreateDevRegKeyA/W.
+
+	* dlls/setupapi/devinst.c:
+	setupapi: Install more items when installing a class.
+
+	* dlls/setupapi/devinst.c:
+	setupapi: Correct creating the class key.
+
+	* dlls/setupapi/devinst.c:
+	setupapi: SetupOpenAppendInfFile is implemented, so remove #if 0 around it.
+
+	* dlls/setupapi/tests/devinst.c:
+	setupapi: Test SetupDiInstallClass.
+
+2007-10-09  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/d3d9/tests/visual.c:
+	wined3d: Add a (nested) loop test.
+
+2007-10-11  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/crypt32/chain.c, dlls/crypt32/tests/chain.c:
+	crypt32: Implement name constraint checking.
+
+2007-10-10  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/crypt32/decode.c, dlls/crypt32/tests/encode.c:
+	crypt32: Implement name constraints decoding.
+
+	* dlls/crypt32/decode.c:
+	crypt32: Don't check tag in AsnDecodeIntInternal, caller already checks it.
+
+	* dlls/crypt32/tests/encode.c:
+	crypt32: Allow either NULL or empty strings where one or the other is expected.
+
+	* dlls/crypt32/encode.c, dlls/crypt32/tests/encode.c:
+	crypt32: Implement name constraint encoding.
+
+	* dlls/crypt32/tests/encode.c:
+	crypt32: Test encoding/decoding name constraints.
+
+	* dlls/crypt32/tests/chain.c:
+	crypt32: Add another test to show that time validity nesting isn't checked.
+
+	* dlls/crypt32/tests/chain.c:
+	crypt32: Remove superficially different certificates.
+
+	* dlls/crypt32/tests/encode.c:
+	crypt32: Allow imprecision of one millisecond in time decoding to fix test
+	failures on Windows.
+
+2007-10-11  David Adam <jeremielapuree@yahoo.fr>
+
+	* include/d3dx8math.h:
+	d3dx8: Fix the definition of D3DXVECTOR.
+
+2007-10-11  Francois Gouget <fgouget@free.fr>
+
+	* dlls/advapi32/tests/security.c, dlls/wined3d/pixelshader.c,
+	  dlls/winex11.drv/dib.c, programs/wineboot/wineboot.c:
+	Assorted spelling fixes.
+
+	* dlls/pdh/tests/pdh.c:
+	pdh/tests: Fix compilation on systems that don't support nameless unions.
+
+	* dlls/comctl32/tests/header.c:
+	comctl32/tests: Fix the control's size reporting in an error message.
+
+	* dlls/user32/tests/msg.c:
+	user32/tests: Don't use nameless unions where they are not needed.
+
+	* dlls/winex11.drv/opengl.c:
+	winex11.drv: Add the trailing '\n' to a Wine trace.
+
+	* dlls/winex11.drv/dib.c:
+	winex11.drv: Remove an obsolete FIXME comment.
+
+2007-10-07  Andrey Turkin <andrey.turkin@gmail.com>
+
+	* tools/wine.inf:
+	wine.inf: Add Protected Storage System Provider key.
+
+2007-10-10  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/install.c:
+	mshtml: Added support for installing Gecko from the local file.
+
+2007-10-10  Aric Stewart <aric@codeweavers.com>
+
+	* dlls/msdmo/dmoreg.c:
+	msdmo: Improve registration and reading of codecs.
+
+2007-10-10  John Klehm <xixsimplicityxix@gmail.com>
+
+	* include/msinkaut.idl:
+	msinkaut.idl: Declare the IInkCollector interface and its dependencies.
+
+2007-10-08  Roy Shea <roy@cs.hmc.edu>
+
+	* Makefile.in, configure, configure.ac, dlls/Makefile.in,
+	  dlls/qmgr/Makefile.in, dlls/qmgr/bits_main.c, dlls/qmgr/qmgr.spec:
+	qmgr: Skeleton implementation of Background Intelligent Transfer Service (BITS).
+
+2007-10-11  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/winex11.drv/window.c:
+	winex11: Don't use a window manager border for a simple WS_BORDER-style border.
+
+	* dlls/winex11.drv/window.c:
+	winex11: Reuse the mwm hints when computing the window X11 rectangle.
+	This allows more flexibility in deciding which elements of the decor
+	are done by the window manager.
+
+	* dlls/winex11.drv/winpos.c, dlls/winex11.drv/x11drv.h,
+	  dlls/winex11.drv/x11drv_main.c:
+	winex11: Set the SKIP_PAGER and SKIP_TASKBAR styles on tool windows.
+
+	* dlls/winex11.drv/window.c, dlls/winex11.drv/winpos.c,
+	  dlls/winex11.drv/x11drv.h:
+	winex11: Add generic mechanism for managing WM_STATE properties.
+
+2007-10-10  Detlef Riekenberg <wine.dev@web.de>
+
+	* dlls/wininet/tests/internet.c:
+	wininet/tests: Initial tests for InternetCanonicalizeUrlA.
+
+2007-10-03  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/wined3d/directx.c:
+	wined3d: Set D3DCAPS2_CANAUTOGENMIPMAP flag when supported.
+
+2007-10-10  Nigel Liang <ncliang@gmail.com>
+
+	* include/winsock.h:
+	include/winsock.h: Fix parenthesis mismatch.
+
+2007-10-10  Dan Hipschman <dsh@linux.ucla.edu>
+
+	* dlls/rpcrt4/ndr_marshall.c, dlls/rpcrt4/tests/server.c,
+	  dlls/rpcrt4/tests/server.idl, tools/widl/typegen.c:
+	rpcrt4, widl: Make pointer layouts compatible with windows; fix conformant
+	array tests.
+
+2007-10-10  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/wineps.drv/init.c, dlls/wineps.drv/type42.c:
+	wineps.drv: Fix some memory leaks.
+
+2007-10-05  Mikolaj Zalewski <mikolajz@google.com>
+
+	* .gitignore, dlls/oleaut32/tests/Makefile.in,
+	  dlls/oleaut32/tests/test_tlb.idl, dlls/oleaut32/tests/typelib.c,
+	  dlls/oleaut32/typelib.c:
+	oleaut32: Function kind for dispatch interfaces should be FUNC_DISPATCH.
+
+2007-10-10  H. Verbeet <hverbeet@gmail.com>
+
+	* dlls/d3d9/tests/visual.c:
+	d3d9: Release pixel shaders after we're done with them in the visual test.
+
+2007-10-10  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/msvcrt/tests/cpp.c, dlls/msvcrt/undname.c:
+	msvcrt: Fix demangling of function pointers by maintaining the left/right
+	distinction for type references.
+
+2007-10-10  Robert Shearman <rob@codeweavers.com>
+
+	* dlls/mshtml/nsembed.c:
+	mshtml: Set the SETUP_IS_CHROME_WRAPPER to FALSE as the embedded Gecko is
+	always used to display content and not chrome.
+
+2007-10-07  Louis Lenders <xerox_xerox2000@yahoo.co.uk>
+
+	* tools/wine.inf:
+	wine.inf: Add 2 keys for *.chm files.
+
+2007-10-03  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/winex11.drv/opengl.c:
+	winex11: Don't choose double buffered modes with gdi support.
+
+	* dlls/winex11.drv/opengl.c:
+	winex11: Use the specified format for GL Bitmaps.
+
+	* dlls/winex11.drv/opengl.c:
+	winex11: Create GLXPixmap for bitmaps in SetPixelFormat.
+
+2007-10-10  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/winex11.drv/opengl.c:
+	winex11: Don't store a physdev pointer in the GL context.
+
+	* dlls/winex11.drv/init.c, dlls/winex11.drv/opengl.c,
+	  dlls/winex11.drv/x11drv.h:
+	winex11: Use ExtEscape to flush the GL drawable to the physdev.
+	Based on a patch by Chris Robinson.
+
+	* dlls/ntdll/file.c, dlls/ntdll/sync.c, dlls/ntdll/virtual.c,
+	  include/wine/server_protocol.h, server/file.c, server/file.h,
+	  server/mapping.c, server/protocol.def, server/trace.c,
+	  tools/make_requests:
+	server: Use the file_pos_t type for file sizes and offsets in the protocol
+	structures.
+
+2007-10-05  Ken Thomases <ken@codeweavers.com>
+
+	* dlls/ntdll/directory.c:
+	ntdll: Work around a bug in Mac OS X's getdirentries().
+
+2007-10-10  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/kernel32/ne_segment.c:
+	kernel32: Use FIELD_OFFSET instead of pointer cast.
+
+2007-10-04  Karl Relton <karllinuxtest.relton@ntlworld.com>
+
+	* dlls/user32/tests/msg.c, server/queue.c:
+	wineserver: Allow already peeked messages to merge.
+
+2007-10-09  Stefan Leichter <Stefan.Leichter@camline.com>
+
+	* programs/regedit/regproc.c:
+	regedit: Replace call to delete_branch with RegDeleteTreeA.
+
+2007-10-08  Hwang YunSong(황윤성) <hys545@dreamwiz.com>
+
+	* programs/winecfg/Ko.rc:
+	winecfg: Updated Korean resource.
+
+2007-10-07  Vitaliy Margolen <wine-patches@kievinfo.com>
+
+	* dlls/dinput/mouse.c:
+	dinput: Use ClipCursor() to keep mouse from leaving the window.
+
+2007-10-07  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/tests/htmldoc.c:
+	mshtml: Fixed test crash on Windows.
+
+2007-10-05  David Adam <David.Adam@math.cnrs.fr>
+
+	* include/Makefile.in, include/d3dx8.h, include/d3dx8math.h:
+	include: Skeleton header for D3DX8.
+
+2007-10-08  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* dlls/wined3d/surface.c:
+	wined3d: Merge p8 palette initialization code.
+
+2007-10-09  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/ddraw/ddraw.c:
+	ddraw: Downgrade the SetCooperativeLevel FIXME to a TRACE.
+
+	* dlls/ddraw/tests/d3d.c:
+	ddraw: Do not fail on surface creation errors, skip instead.
+
+	* dlls/wined3d/surface_gdi.c:
+	wined3d: Silently ignore setting the 0 texture on gdi surfaces.
+
+	* dlls/ddraw/ddraw.c, dlls/ddraw/ddraw_private.h, dlls/ddraw/surface.c:
+	ddraw: Cope with Init3D failures.
+
+	* dlls/wined3d/device.c:
+	wined3d: Clear up in Init3D if something fails.
+
+2007-10-08  Hwang YunSong(황윤성) <hys545@dreamwiz.com>
+
+	* programs/wineboot/wineboot.rc, programs/wineboot/wineboot_Ko.rc:
+	wineboot: New Korean resource.
+
+2007-10-09  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/wineps.drv/download.c:
+	wineps.drv: Fix some memory leaks.
+
+2007-10-08  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/wined3d/resource.c:
+	wined3d: Fix a memory leak.
+
+2007-10-06  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/winealsa.drv/midi.c:
+	winealsa.drv: Fix a memory leak.
+
+2007-10-05  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/urlmon/sec_mgr.c:
+	urlmon: Fix some memory leaks.
+
+2007-10-09  Francois Gouget <fgouget@codeweavers.com>
+
+	* programs/regedit/regproc.c:
+	regedit: Add support for 'regedit /E -', to export the registry to stdout.
+
+	* programs/regedit/regedit.c:
+	regedit: Add support for 'regedit -' for feeding regedit from stdin.
+
+2007-10-08  Mikolaj Zalewski <mikolajz@google.com>
+
+	* dlls/ole32/ole2.c, dlls/ole32/tests/ole2.c:
+	ole32: OleIsRunning should return TRUE if the class doesn't implement
+	IRunnableObject.
+
+2007-10-08  Andrey Turkin <andrey.turkin@gmail.com>
+
+	* libs/wine/loader.c:
+	libwine: Emulate MS linker stub for builtin dlls.
+
+	* dlls/dbghelp/pe_module.c:
+	dbghelp: Avoid crashing on files with bogus export table.
+
+2007-10-06  EA Durbin <ead1234@hotmail.com>
+
+	* dlls/kernel32/locale.c:
+	kernel32: Implement SetUserGeoID.
+
+2007-10-08  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/wintrust/wintrust_main.c:
+	wintrust: Add generic chain action to known actions.
+
+	* dlls/wintrust/softpub.c:
+	wintrust: Add traces.
+
+	* dlls/wintrust/softpub.c, dlls/wintrust/wintrust.spec:
+	wintrust: Implement GenericChainFinalProv.
+
+	* dlls/wintrust/softpub.c, dlls/wintrust/wintrust.spec:
+	wintrust: Implement GenericChainCertificateTrust.
+
+	* dlls/wintrust/softpub.c:
+	wintrust: Add a helper function to create a chain for a signer.
+
+	* dlls/wintrust/softpub.c:
+	wintrust: Add a helper function to initialize chain creation parameters.
+
+	* dlls/wintrust/wintrust_main.c:
+	wintrust: Trace input to WinVerifyTrust.
+
+2007-10-08  James Hawkins <truiken@gmail.com>
+
+	* dlls/user32/tests/dde.c:
+	user32: Test the ddeml server interface.
+
+	* dlls/user32/tests/dde.c:
+	user32: Move the test_ddeml_client function closer to the other ddeml client
+	test functions.
+
+	* dlls/user32/tests/dde.c:
+	user32: Set client_pid to zero before initializing dde.
+
+2007-10-09  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/navigate.c:
+	mshtml: Move init_nsevents call from start_binding to read_stream_data to
+	avoid race.
+
+2007-10-07  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/tests/misc.c:
+	mshtml: Fixed tests on IE7.
+
+2007-10-08  Juan Lang <juan.lang@gmail.com>
+
+	* include/softpub.h:
+	softpub.h: Add missing definitions.
+
+	* dlls/crypt32/msg.c:
+	crypt32: Add an extra pointer alignment to avoid possible memory corruption.
+
+2007-10-09  Maarten Lankhorst <m.b.lankhorst@gmail.com>
+
+	* dlls/wineoss.drv/audio.c:
+	wineoss: Remove useless fixme shown on initialisation.
+
+	* dlls/dsound/primary.c:
+	dsound: Release buffer before reopening when buffer is too small.
+
+2007-10-08  Maarten Lankhorst <m.b.lankhorst@gmail.com>
+
+	* dlls/winmm/winemm.h, programs/winecfg/audio.c:
+	winmm: Set default sound driver to alsa,oss,coreaudio.
+
+2007-10-07  Reece H. Dunn <msclrhd@gmail.com>
+
+	* dlls/comctl32/trackbar.c:
+	comctl32: Fixed drawing the trackbar background when themes are installed.
+
+2007-10-07  Stefan Leichter <Stefan.Leichter@camline.com>
+
+	* programs/winecfg/winecfg.c:
+	winecfg: Replace call to remove_path with RegDeleteTreeW.
+
+2007-10-07  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/urlmon/sec_mgr.c, dlls/urlmon/tests/misc.c:
+	urlmon: Fixed test on IE7.
+
+	* dlls/shdocvw/tests/webbrowser.c:
+	shdocvw: Fixed tests on IE7.
+
+2007-10-07  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/ole32/ole2.c, dlls/ole32/tests/dragdrop.c:
+	ole32: RegisterDragDrop should return E_OUTOFMEMORY in the case that COM isn't
+	intialised, instead of CO_E_NOTINITIALIZED.
+
+2007-10-07  Lei Zhang <thestig@google.com>
+
+	* dlls/comctl32/tests/monthcal.c:
+	comctl32: Fix monthcal hit tests.
+
+2007-10-07  Marcus Meissner <marcus@jet.franken.de>
+
+	* dlls/crypt32/tests/encode.c:
+	crypt32/tests: Fixed buffer overflow in encode test.
+
+2007-10-08  Dan Hipschman <dsh@linux.ucla.edu>
+
+	* tools/widl/parser.y, tools/widl/typegen.c, tools/widl/typelib.c,
+	  tools/widl/widltypes.h:
+	widl: Keep track of every allocated type_t to simplify set_all_tfswrite.
+
+	* tools/widl/parser.h, tools/widl/parser.y, tools/widl/typelib.c,
+	  tools/widl/widltypes.h:
+	widl: Implement pointer_default functionality.
+
+	* tools/widl/parser.l, tools/widl/parser.y, tools/widl/utils.h:
+	widl: Allow quoted UUIDs.
+
+2007-10-07  Huw Davies <huw@codeweavers.com>
+
+	* dlls/comctl32/tests/treeview.c:
+	comctl32/tests: Don't assume that the default font height is 16 pixels.
+
+2007-10-07  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/oleaut32/tests/vartest.c:
+	oleaut32: Add a check for a test that depends on the decimal separator being
+	a dot.
+
+2007-10-07  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/wined3d/state.c:
+	wined3d: Prevent some console spamming.
+
+2007-10-06  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* dlls/wined3d/state.c, include/wine/wined3d_gl.h:
+	wined3d: Use EXT-versions of glBlend*.
+
+2007-10-07  Huw Davies <huw@codeweavers.com>
+
+	* dlls/comctl32/tests/rebar.c:
+	comctl32/tests: Skip some font dependent tests if we don't have System or
+	Tahoma installed.
+
+2007-10-07  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/ntdll/actctx.c:
+	actctx: Rename version to assembly_version.
+
+	* dlls/mshtml/tests/dom.c:
+	mshtml: Skip tests if we can't get body object - it means that there is no
+	Gecko available.
+
+	* dlls/mshtml/editor.c, dlls/mshtml/olecmd.c:
+	mshtml: Move most code from handle_editor_load to exec_editmode.
+
+2007-10-07  Kai Blin <kai.blin@gmail.com>
+
+	* dlls/secur32/ntlm.c:
+	secur32: ntlm_auth returns BH if the connection to winbindd fails.
+
+2007-10-06  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/crypt32/tests/encode.c:
+	crypt32: Print values of failing time tests.
+
+	* dlls/crypt32/tests/encode.c:
+	crypt32: Remove some tests that fail inconsistently on Windows.
+	Reported by Steven Edwards.
+
+2007-10-05  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/setupapi/devinst.c:
+	setupapi: Remove a misleading fixme.
+
+2007-10-06  Dan Kegel <dank@kegel.com>
+
+	* dlls/quartz/tests/referenceclock.c:
+	quartz: Make clock test less flaky.
+
+2007-10-06  Marcus Meissner <marcus@jet.franken.de>
+
+	* dlls/advpack/tests/advpack.c:
+	advpack: Handle localized C:\Program Files.
+
+2007-10-06  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/d3d9/tests/visual.c:
+	d3d9: Do not rely on CreateVertexShader failing.
+
+2007-10-06  Ulrich Czekalla <ulrich.czekalla@utoronto.ca>
+
+	* dlls/d3d9/tests/texture.c:
+	d3d9: Fix crash in texture test.
+
+2007-10-06  Francois Gouget <fgouget@free.fr>
+
+	* dlls/user32/tests/dde.c:
+	user32/tests: Remove an unneeded cast.
+
+	* dlls/comdlg32/tests/printdlg.c:
+	comdlg32/tests: Tell PageSetupDlg() not to bring up a dialog if there is no
+	default printer.
+
+2007-10-06  Rob Shearman <rob@codeweavers.com>
+
+	* server/file.c:
+	server: Only call fchmod in file_set_fd if the mode actually changed.
+
+	* server/file.c:
+	server: Remove an unnecessary check from file_set_fd.
+
+2007-10-06  Louis Lenders <xerox_xerox2000@yahoo.co.uk>
+
+	* dlls/wsock32/wsock32.spec:
+	wsock32: Export 3 more functions.
+
+2007-10-04  Mikolaj Zalewski <mikolajz@google.com>
+
+	* programs/oleview/typelib.c:
+	oleview: Don't crash if the parent type couldn't be retrieved.
+
+2007-10-05  Dan Kegel <dank@kegel.com>
+
+	* dlls/msvcrt/file.c, dlls/msvcrt/tests/file.c:
+	msvcrt: Fix ^Z handling in text mode.
+
+2007-10-05  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* dlls/wined3d/context.c:
+	wined3d: Remove an unused ChoosePixelFormat line.
+
+	* dlls/wined3d/context.c:
+	wined3d: Make sure we receive a hw accelerated pixel format with OpenGL support.
+
+2007-10-05  Dan Hipschman <dsh@linux.ucla.edu>
+
+	* dlls/rpcrt4/tests/server.c, tools/widl/parser.y:
+	widl: Make structs containing user types bogus; fix square_test_us test failure.
+
+	* dlls/rpcrt4/tests/server.idl:
+	rpcrt4/tests: Make server.idl compatible with MIDL.
+
+2007-10-03  Aric Stewart <aric@codeweavers.com>
+
+	* dlls/msdmo/dmoreg.c:
+	msdmo: Implement DMOGetTypes.
+
+2007-10-04  Dan Kegel <dank@kegel.com>
+
+	* dlls/msvcrt/file.c, dlls/msvcrt/tests/file.c:
+	msvcrt: Improve CR CR LF handling.
+
+2007-10-04  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/crypt32/cert.c:
+	crypt32: Don't assume a maximum of 32 valid usages.
+
+	* dlls/crypt32/tests/cert.c:
+	crypt32: Add tests for CertGetValidUsages.
+
+	* dlls/crypt32/cert.c:
+	crypt32: Reduce valid usages count when removing a valid usage.
+
+	* dlls/crypt32/cert.c:
+	crypt32: Don't set ret to FALSE when it isn't checked.
+
+	* dlls/crypt32/cert.c:
+	crypt32: Always set cNumOIDs.
+
+	* dlls/crypt32/cert.c:
+	crypt32: Don't fail if a cert is invalid, Windows doesn't either (tests
+	to follow).
+
+	* dlls/crypt32/cert.c:
+	crypt32: Don't fail if buffer is NULL, just return required size.
+
+	* dlls/crypt32/cert.c:
+	crypt32: Improve trace.
+
+	* dlls/crypt32/cert.c:
+	crypt32: Fix a silly variable name.
+
+2007-10-04  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/shell32/shelllink.c:
+	shell32: Fix some memory leaks.
+
+2007-10-03  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/secur32/ntlm.c:
+	secur32: Fix some memory leaks.
+
+2007-10-04  Huw Davies <huw@codeweavers.com>
+
+	* fonts/.gitignore, fonts/Makefile.in, fonts/tahomabd.sfd:
+	fonts: Add a very incomplete Tahoma Bold.
+
+2007-10-04  Vitaliy Margolen <wine-patches@kievinfo.com>
+
+	* dlls/winex11.drv/mouse.c:
+	winex11drv: Ignore mouse move events when position did not change only when
+	other events are present.
+
+2007-10-04  Huw Davies <huw@codeweavers.com>
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Fixed a misplaced break.
+
+2007-10-04  Louis Lenders <xerox_xerox2000@yahoo.co.uk>
+
+	* dlls/d3dx8/d3dx8.spec:
+	d3dx8: Update spec file.
+
+	* dlls/d3dx8/d3dx8_main.c:
+	d3dx8: Add DllMain.
+
+2007-10-03  Rob Shearman <rob@codeweavers.com>
+
+	* server/file.c, server/security.h, server/token.c:
+	server: Add primitive support for setting and getting the security descriptor
+	of files based on their Unix permissions.
+
+	* server/async.c, server/atom.c, server/change.c, server/clipboard.c,
+	  server/completion.c, server/console.c, server/debugger.c,
+	  server/device.c, server/directory.c, server/event.c, server/fd.c,
+	  server/file.c, server/handle.c, server/hook.c, server/mailslot.c,
+	  server/mapping.c, server/mutex.c, server/named_pipe.c,
+	  server/object.c, server/object.h, server/process.c, server/queue.c,
+	  server/registry.c, server/request.c, server/semaphore.c,
+	  server/serial.c, server/signal.c, server/snapshot.c, server/sock.c,
+	  server/symlink.c, server/thread.c, server/timer.c, server/token.c,
+	  server/winstation.c:
+	server: Add get_sd and set_sd object operations to allow the security descriptor
+	to be stored somewhere other than server memory, such as on disk.
+
+	* server/security.h, server/token.c:
+	server: Add a simple mapping from Unix uids to NT SIDs.
+
+2007-09-14  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/baseshader.c, dlls/wined3d/glsl_shader.c,
+	  dlls/wined3d/wined3d_private.h:
+	wined3d: Nested loop support.
+
+2007-10-04  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/glsl_shader.c:
+	wined3d: Implement the vFace register.
+
+2007-10-04  Damjan Jovanovic <damjan.jov@gmail.com>
+
+	* dlls/ws2_32/socket.c:
+	ws2_32: Silently ignore WS_IP_DONTFRAGMENT.
+
+2007-10-04  James Hawkins <truiken@gmail.com>
+
+	* dlls/user32/tests/dde.c, include/ddeml.h:
+	user32: Test the ddeml client interface.
+
+2007-09-28  Mikolaj Zalewski <mikolajz@google.com>
+
+	* dlls/advapi32/security.c:
+	advapi32: security: Remove unneeded FIXME.
+
+2007-10-03  Mikolaj Zalewski <mikolajz@google.com>
+
+	* dlls/oleaut32/olepicture.c:
+	oleaut32: olepicture: When drawing metafiles set the coordinates system so
+	that it is drawn in the correct place.
+
+	* dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c:
+	oleaut32: olepicture: Support loading Aldus Placable Metafiles.
+
+2007-10-04  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/htmlinput.c:
+	mshtml: Added IHTMLInputTextElement interface implementation.
+
+	* include/mshtmdid.h, include/mshtml.idl:
+	mshtml.idl: Added IHTMLInputTextElement interface.
+
+	* dlls/mshtml/htmlselect.c:
+	mshtml: Added IHTMLSelectElement::get_length implementation.
+
+	* dlls/mshtml/htmlelem.c:
+	mshtml: IHTMLElementContainer::item rewrite.
+
+	* dlls/mshtml/Makefile.in, dlls/mshtml/htmlelem.c,
+	  dlls/mshtml/htmloption.c, dlls/mshtml/mshtml_private.h:
+	mshtml: Added IHTMLOptionElement interface stub implementation.
+
+	* dlls/mshtml/htmldoc.c, dlls/mshtml/htmlelem.c,
+	  dlls/mshtml/mshtml_private.h:
+	mshtml: Include document element in collection returned by
+	IHTMLDocument2::get_all.
+
+	* dlls/mshtml/htmlelem.c:
+	mshtml: Return IHTMLElementCollection instead of IDispatch from
+	HTMLElementCollection_Create.
+
+	* dlls/mshtml/htmlelem.c:
+	mshtml: Move common code to separated function.
+
+	* dlls/mshtml/htmlanchor.c, dlls/mshtml/htmlbody.c,
+	  dlls/mshtml/htmlelem.c, dlls/mshtml/htmlinput.c,
+	  dlls/mshtml/htmlnode.c, dlls/mshtml/htmlselect.c,
+	  dlls/mshtml/htmltextarea.c, dlls/mshtml/mshtml_private.h:
+	mshtml: Move nodes' QueryInterface implementation to vtbl.
+
+	* dlls/mshtml/htmlanchor.c, dlls/mshtml/htmlbody.c,
+	  dlls/mshtml/htmlelem.c, dlls/mshtml/htmlinput.c,
+	  dlls/mshtml/htmlnode.c, dlls/mshtml/htmlselect.c,
+	  dlls/mshtml/htmltextarea.c, dlls/mshtml/mshtml_private.h:
+	mshtml: Use vtbl for node destructors.
+
+	* dlls/mshtml/htmlanchor.c, dlls/mshtml/htmlbody.c,
+	  dlls/mshtml/htmlelem.c, dlls/mshtml/htmlinput.c,
+	  dlls/mshtml/htmlselect.c, dlls/mshtml/htmltextarea.c,
+	  dlls/mshtml/mshtml_private.h:
+	mshtml: Pass HTMLDOMNode pointer to HTMLElement's destructor.
+
+	* dlls/mshtml/htmlelem.c, dlls/mshtml/htmlnode.c,
+	  dlls/mshtml/mshtml_private.h:
+	mshtml: Pass HTMLDOMNode pointer to its destructor.
+
+2007-10-03  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* dlls/wined3d/device.c:
+	wined3d: Render to the correct hwnd/hdc.
+
+2007-10-03  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/wintrust/softpub.c:
+	wintrust: Use verify time rather than current time to check certificate chain.
+
+	* dlls/wintrust/softpub.c:
+	wintrust: Remove bad check that prevents root certificates from appearing
+	time valid.
+
+	* dlls/wintrust/softpub.c:
+	wintrust: Use file's creation time as time to verify.
+
+	* dlls/wintrust/softpub.c:
+	wintrust: Copy time to verify from cert info.
+
+2007-10-03  Huw Davies <huw@codeweavers.com>
+
+	* fonts/.gitignore, fonts/Makefile.in, fonts/tahoma.sfd:
+	fonts: Add a Tahoma replacement. Almost entirely based on a patch by Larry
+	Snyder.
+
+2007-10-03  Detlef Riekenberg <wine.dev@web.de>
+
+	* dlls/localspl/localspl.spec, dlls/localspl/localspl_main.c:
+	localspl: Implement InitializePrintProvidor.
+
+	* .gitignore, Makefile.in, configure, configure.ac, dlls/Makefile.in,
+	  dlls/spoolss/tests/Makefile.in, dlls/spoolss/tests/spoolss.c,
+	  programs/winetest/Makefile.in, programs/winetest/winetest.rc:
+	spoolss/tests: Add tests for SplInitializeWinSpoolDrv.
+
+	* dlls/spoolss/spoolss.spec, dlls/spoolss/spoolss_main.c:
+	spoolss: Implement SplInitializeWinSpoolDrv.
+
+	* dlls/winspool.drv/winspool.drv.spec:
+	winspool: Add a missing export.
+
+	* dlls/msi/database.c:
+	msi: Dump the database name in a FIXME.
+
+2007-10-02  Lionel Debroux <lionel_debroux@yahoo.fr>
+
+	* dlls/advapi32/tests/security.c:
+	advapi32/tests: Fix a typo.
+
+	* dlls/advapi32/tests/security.c:
+	advapi32/tests: Fix memory leaks (found by Smatch).
+
+2007-09-26  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/winex11.drv/opengl.c:
+	winex11: Load and use GLX_MESA_copy_sub_buffer for swapping buffers on a
+	GLXPixmap.
+
+	* dlls/winex11.drv/dce.c, dlls/winex11.drv/init.c,
+	  dlls/winex11.drv/opengl.c, dlls/winex11.drv/window.c,
+	  dlls/winex11.drv/x11drv.h:
+	winex11: Use a GLXPixmap for offscreen OpenGL rendering when XComposite isn't
+	available.
+
+	* dlls/winex11.drv/opengl.c, dlls/winex11.drv/x11drv.h:
+	winex11: Track async GL drawable changes.
+
+	* dlls/winex11.drv/bitmap.c, dlls/winex11.drv/opengl.c,
+	  dlls/winex11.drv/x11drv.h:
+	winex11: Pass a display parameter when destroying glxpixmaps.
+
+2007-09-25  Chris Robinson <chris.kcat@gmail.com>
+
+	* dlls/winex11.drv/opengl.c, dlls/winex11.drv/window.c,
+	  dlls/winex11.drv/x11drv.h:
+	winex11: Use an offscreen redirected window for child OpenGL rendering.
+
+	* dlls/opengl32/make_opengl, dlls/opengl32/opengl_norm.c,
+	  dlls/opengl32/wgl.c, dlls/winex11.drv/opengl.c:
+	wgl: Remove GL scissors/viewport override.
+
+	* dlls/winex11.drv/dce.c, dlls/winex11.drv/init.c,
+	  dlls/winex11.drv/opengl.c, dlls/winex11.drv/window.c,
+	  dlls/winex11.drv/x11drv.h:
+	winex11: Store a GL-specific drawable with the window.
+
+2007-10-02  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/advapi32/security.c:
+	advapi32: Allow GetFileSecurityA/W to work on files that have been opened
+	already with restricted sharing flags.
+	Only use the minimum required access rights for the information being retrieved.
+
+	* dlls/advapi32/security.c:
+	advapi32: Implement SetFileSecurityW on top of NtSetSecurityObject.
+
+	* server/token.c:
+	server: Use ACL_REVISION in create_default_dacl instead of MAX_ACL_REVISION
+	since we don't use any features from later ACL revisions.
+
+	* dlls/ntdll/om.c, include/wine/server_protocol.h, server/handle.c,
+	  server/protocol.def, server/request.h, server/trace.c:
+	server: Add a new get_security_object call for getting the security descriptor
+	of an object.
+	Use it to implement NtQuerySecurityObject.
+
+	* server/handle.c, server/object.c, server/object.h, server/security.h,
+	  server/token.c:
+	server: Move set_security_object to handle.c and set_object_sd to object.c.
+	These both don't operate on tokens so token.c is not the right place for
+	them to be implemented.
+
+2007-09-09  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/glsl_shader.c, dlls/wined3d/pixelshader.c,
+	  dlls/wined3d/wined3d_private.h:
+	wined3d: d3d ignores the sign of the input value in the log instruction.
+
+	* dlls/wined3d/glsl_shader.c:
+	wined3d: Take care against overwriting a source register in cmp.
+
+2007-09-14  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/baseshader.c, dlls/wined3d/glsl_shader.c,
+	  dlls/wined3d/pixelshader.c, dlls/wined3d/wined3d_private.h:
+	wined3d: Reverse the position fixup if the pshader is reading vpos.
+
+2007-10-02  Rémi Assailly <remi.assailly@free.fr>
+
+	* dlls/user32/desktop.c, dlls/user32/user.exe.spec, dlls/user32/user16.c:
+	user32: Renamed and moved SetDeskPattern.
+
+	* dlls/user32/clipboard.c, dlls/user32/desktop.c, dlls/user32/user16.c:
+	user32: Moved some 16-bit functions.
+
+2007-10-02  Marcus Meissner <marcus@jet.franken.de>
+
+	* dlls/setupapi/devinst.c:
+	setupapi: Use correct parameter in pointer init.
+
+	* dlls/d3d9/tests/device.c:
+	d3d9/tests: Initialize shader to NULL.
+
+2007-10-02  Roy Shea <roy@cs.hmc.edu>
+
+	* programs/net/net.c:
+	net.exe: Added missing service name.
+
+2007-10-02  Huw Davies <huw@codeweavers.com>
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Let the WINE_GGO_GRAY16_BITMAP case load a bitmap.
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Only cache the glyph metrics when rendering to a monochrome bitmap or
+	when just retrieving the metrics.
+
+	* dlls/gdi32/freetype.c:
+	gdi32: TrueType fonts from the data directory should be added to the registry.
+
+2007-10-02  Konstantin Kondratyuk <kondratyuk@etersoft.ru>
+
+	* programs/net/Ru.rc, programs/net/rsrc.rc:
+	net.exe: Add Russian resources.
+
+2007-10-02  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/mshtml_private.h, dlls/mshtml/nsembed.c,
+	  dlls/mshtml/olecmd.c:
+	mshtml: Pass the IDispatch interface of the element right-clicked on to
+	IDocHostUIHandler_ShowContextMenu if applicable instead of always the
+	document's one.
+	Found by Rob Shearman.
+
+	* dlls/mshtml/htmlelem.c, dlls/mshtml/tests/dom.c:
+	mshtml: Added get_tagName implementation.
+
+2007-10-02  Dan Hipschman <dsh@linux.ucla.edu>
+
+	* tools/widl/parser.y, tools/widl/typegen.c:
+	widl: Correct default pointers.
+
+	* tools/widl/header.c, tools/widl/typegen.c:
+	widl: Write types in the format string comments.
+
+	* tools/widl/client.c, tools/widl/header.c, tools/widl/header.h,
+	  tools/widl/parser.y, tools/widl/proxy.c, tools/widl/server.c,
+	  tools/widl/typegen.c:
+	widl: Add a declonly argument to write_type_left.
+
+	* tools/widl/parser.y, tools/widl/typegen.c:
+	widl: Add newlines to error messages that are missing them.
+
+2007-10-02  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/ntdll/heap.c:
+	ntdll: Fix a typo.
+
+2007-10-03  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/ntdll/heap.c:
+	ntdll: Fix the HEAP_CreateSubHeap return value (spotted by Allan Tong).
+
+2007-10-02  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/winenas.drv/audio.c:
+	winenas.drv: Add workaround for INT64 type too.
+
+	* dlls/user32/tests/class.c:
+	user32/tests: Replace GWL_WNDPROC by GWLP_WNDPROC.
+
+	* dlls/imagehlp/modify.c:
+	imagehlp: Fixed UpdateDebugInfoFile definition.
+
+	* server/change.c, server/device.c, server/directory.c, server/fd.c,
+	  server/file.c, server/file.h, server/named_pipe.c, server/serial.c,
+	  server/sock.c:
+	server: Add a default access mapping function for files, and use it for
+	devices too.
+
+	* dlls/kernel32/heap.c:
+	kernel32: Improve tracing in GlobalAlloc.
+
+2007-10-02  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/user32/listbox.c, dlls/user32/tests/msg.c:
+	user32: Add a message test for ownerdrawn listbox, make it pass under Wine.
+
+2007-10-02  Marcus Meissner <marcus@jet.franken.de>
+
+	* dlls/pdh/pdh_main.c:
+	pdh: Removed superflous NULL ptr check.
+
+	* dlls/mpr/wnet.c:
+	mpr: Initialize lpwSystem.
+
+	* dlls/kernel32/tests/virtual.c:
+	kernel32: Test IsBadReadPtr/ IsBadCodePtr / IsBadWritePtr.
+
+2007-10-01  Luke Bratch <l_bratch@yahoo.co.uk>
+
+	* programs/winecfg/En.rc:
+	winecfg: Add more keyboard shortcuts.
+
+2007-10-01  Chris Spencer <spencercw@googlemail.com>
+
+	* tools/wine.inf:
+	wine.inf: Create psapi.dll as a fake dll.
+
+2007-10-02  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/gdi32/freetype.c:
+	gdi32: Prefer a Microsoft cmap table over other platform ones.
+
+2007-10-01  Juan Lang <juan.lang@gmail.com>
+
+	* dlls/crypt32/decode.c:
+	crypt32: Don't check decoded length against encoded length for indefinite-form
+	sequences.
+
+2007-10-01  Louis Lenders <xerox_xerox2000@yahoo.co.uk>
+
+	* dlls/faultrep/faultrep.c, dlls/faultrep/faultrep.spec:
+	faultrep: Add stub for ReportFault.
+
+2007-09-29  Gerald Pfeifer <gerald@pfeifer.com>
+
+	* dlls/mshtml/editor.c:
+	mshtml: Removed unused function get_child_text_node().
+
+	* dlls/winex11.drv/xrender.c:
+	winex11.drv: Move X11DRV_XRender_Installed under #ifdef SONAME_LIBXRENDER.
+
+	* dlls/kernel32/heap.c:
+	kernel32: Fix types for the FreeBSD implementation of GlobalMemoryStatusEx().
+
+	* dlls/kernel32/cpu.c:
+	kernel32: Fix signedess for FreeBSD-specific implementation of GetSystemInfo().
+
+2007-10-01  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/oleaut32/tmarshal.c:
+	oleaut32: Fix some memory leaks.
+
+	* dlls/ole32/compositemoniker.c:
+	ole32: Fix some memory leaks.
+
+2007-09-29  Stéphane LOEUILLET <leroutier@gmail.com>
+
+	* tools/wine.desktop:
+	Fix substandard wine.desktop file.
+
+2007-10-01  Maarten Lankhorst <maarten@codeweavers.com>
+
+	* dlls/dsound/capture.c:
+	dsound: Fix IDirectSoundBuffer_GetPosition.
+
+2007-10-01  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/urlmon/binding.c:
+	urlmon: Get rid of no longer needed IHttpNegotiate wrapper.
+
+	* dlls/urlmon/tests/url.c:
+	urlmon: Added more RegiterBindStatusCallback tests.
+
+	* dlls/urlmon/tests/url.c:
+	urlmon: Added more strict QueryInterface tests.
+
+	* dlls/urlmon/bindctx.c, dlls/urlmon/tests/url.c, dlls/urlmon/umon.c:
+	urlmon: Wrap callback in RegisterBindStatusCallback.
+
+	* dlls/uuid/uuid.c:
+	urlmon: Added IID_IBindStatusCallbackHolder to uuid.
+
+2007-10-01  Kai Blin <kai.blin@gmail.com>
+
+	* dlls/secur32/ntlm.c:
+	secur32: Remove hardcoded assumption that the SECBUFFER_DATA is always at
+	index 1 for en/decrypting.
+
+2007-10-01  Alexandre Julliard <julliard@winehq.org>
+
+	* dlls/ntdll/heap.c:
+	ntdll: Make the heap structure more compatible with the NT layout.
+
+	* dlls/ntdll/heap.c:
+	ntdll: Convert the subheap list to a standard list.
+
+	* dlls/ntdll/heap.c:
+	ntdll: Remove assumptions that the subheap is at the beginning of the memory
+	block.
+
+	* dlls/ntdll/heap.c:
+	ntdll: Clear heap blocks also for WARN_ON(heap).
+
+	* dlls/shlwapi/ordinal.c:
+	shlwapi: Fix GetAcceptLanguagesA to not read past the end of the buffer.
+
+	* dlls/user32/tests/dde.c:
+	user32/tests: Compare against ASCII string first since it may not be a valid
+	Unicode string in that case.
+
+	* dlls/msi/alter.c:
+	msi: Avoid accessing a freed object.
+
+	* dlls/mshtml/mshtml_private.h, dlls/mshtml/persist.c:
+	mshtml: The HTMLDocument URL is a standard WCHAR string, not a BSTR.
+
+	* dlls/comctl32/tests/dpa.c:
+	comctl32/tests: Avoid destroying a DPA twice.
+
+2007-09-26  Rob Shearman <rob@codeweavers.com>
+
+	* .gitignore, programs/wineboot/Makefile.in, programs/wineboot/resource.h,
+	  programs/wineboot/shutdown.c, programs/wineboot/wineboot.rc,
+	  programs/wineboot/wineboot_En.rc:
+	wineboot: Add a timeout dialog when any WM_QUERYENDSESSION or WM_ENDSESSION
+	messages take too long.
+
+2007-10-01  Konstantin Kondratyuk <kondratyuk@etersoft.ru>
+
+	* dlls/mpr/wnet.c, include/npapi.h:
+	mpr: Implement WNetGetResourceInformation functions.
+
+2007-09-29  Stefan Leichter <Stefan.Leichter@camline.com>
+
+	* dlls/user32/resources/version16.rc:
+	user32: Define WINE_FILEVERSION in version resource of user.exe.
+
+	* dlls/kernel32/version16.rc:
+	kernel32: Define WINE_FILEVERSION in version resource of krnl386.exe.
+
+	* dlls/gdi32/version16.rc:
+	gdi32: Define WINE_FILEVERSION in version resource of gdi.exe.
+
+	* dlls/ole32/version16.rc:
+	ole32: Define WINE_FILEVERSION in version resource of ole2nls.dll too.
+
+2007-09-29  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* dlls/ddraw/regsvr.c:
+	ddraw: Fix RegDeleteTreeA/W compile issues when building ddraw for Windows.
+
+2007-09-28  Damjan Jovanovic <damjan.jov@gmail.com>
+
+	* dlls/ole32/compobj.c, dlls/ole32/compobj.spec:
+	ole32: Implement win16 COCREATEGUID.
+
+2007-09-05  Stefan Dösinger <stefan@codeweavers.com>
+
+	* dlls/wined3d/baseshader.c:
+	wined3d: Bem is an instruction and uses registers.
+
+	* dlls/wined3d/arb_program_shader.c, dlls/wined3d/pixelshader.c,
+	  dlls/wined3d/vertexshader.c, dlls/wined3d/wined3d_private.h:
+	wined3d: Enable the mNxN implementation for pixel shaders.
+
+	* dlls/wined3d/arb_program_shader.c, dlls/wined3d/wined3d_private.h:
+	wined3d: Implement texbeml in arb shaders.
+
+	* dlls/wined3d/arb_program_shader.c:
+	wined3d: Add proper input register handling to texreg2ar/gb.
+
+	* dlls/wined3d/arb_program_shader.c, dlls/wined3d/pixelshader.c,
+	  dlls/wined3d/wined3d_private.h:
+	wined3d: Add texreg2rgb support to arb shaders.
+
+2007-09-30  Rob Shearman <rob@codeweavers.com>
+
+	* dlls/user32/tests/msg.c:
+	user32: Add tests for DefWindowProc processing the undocumented 0x3B message.
+
+2007-09-30  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* include/wine/wined3d_interface.h:
+	wined3d: WINAPI compile fixes.
+
+2007-10-01  Maarten Lankhorst <maarten@codeweavers.com>
+
+	* dlls/wineoss.drv/audio.c, dlls/wineoss.drv/audio.h,
+	  dlls/wineoss.drv/dscapture.c, dlls/wineoss.drv/dsrender.c:
+	wineoss: Seperate wave-in and wave-outs shared use of a single OSS_DEVICE struct.
+
+	* dlls/dsound/capture.c:
+	dsound: Call waveInUnPrepareHeader and waveInPrepareHeader when submitting
+	new buffer.
+
+2007-09-29  Maarten Lankhorst <maarten@codeweavers.com>
+
+	* dlls/dsound/capture.c, dlls/dsound/dsound_private.h,
+	  dlls/dsound/primary.c:
+	dsound: Use smaller buffers for wavein capture.
+
+2007-09-29  Hans Leidekker <hans@it.vu.nl>
+
+	* dlls/pdh/tests/pdh.c:
+	pdh: Skip tests when running on non-english locale.
+
+	* dlls/pdh/pdh_main.c, dlls/pdh/tests/pdh.c:
+	pdh: Fix parameter handling in PdhAddEnglishCounter{A, W} and
+	PdhCollectQueryDataWithTime.
+
+	* dlls/pdh/pdh.spec, dlls/pdh/pdh_main.c:
+	pdh: Implement PdhCalculateCounterFromRawValue.
+
+	* dlls/pdh/pdh.spec, dlls/pdh/pdh_main.c, dlls/pdh/tests/pdh.c,
+	  include/pdh.h:
+	pdh: Implement and test PdhCollectQueryDataEx.
+
+	* dlls/pdh/pdh_main.c:
+	pdh: Serialize access to performance counters and queries.
+
+	* dlls/pdh/tests/pdh.c:
+	pdh: Add tests for PdhValidatePath{, Ex}{A, W}.
+
+	* dlls/pdh/pdh.spec, dlls/pdh/pdh_main.c, include/pdh.h, include/pdhmsg.h:
+	pdh: Implement PdhValidatePath{, Ex}{A, W}.
+
+2007-09-29  Roderick Colenbrander <thunderbird2k@gmx.net>
+
+	* dlls/wined3d/context.c:
+	wined3d: Only call ENTER_GL for the parts in ActivateContext that actually
+	need it.
+
+	* dlls/wined3d/context.c, dlls/wined3d/device.c, dlls/wined3d/swapchain.c:
+	wined3d: CreateContext should not be called between ENTER_GL/LEAVE_GL.
+
+	* dlls/wined3d/directx.c:
+	wined3d: CreateFakeGLContxt/ReleaseFakeGLContext doesn't need ENTER_GL/LEAVE_GL
+	and they are making GDI calls.
+	The removal of ENTER_GL from the fake context code, requires the
+	addition of ENTER_GL/LEAVE_GL to FillGLCaps which was protected by the
+	fake context code before.
+
+2007-09-28  Andrew Talbot <andrew.talbot@talbotville.com>
+
+	* dlls/msvfw32/mciwnd.c:
+	msvfw32: Fix a memory leak.
+
+2007-09-29  Vitaliy Margolen <wine-patches@kievinfo.com>
+
+	* dlls/dinput/device.c:
+	dinput: Fix typo.
+
+2007-09-29  Jacek Caban <jacek@codeweavers.com>
+
+	* dlls/mshtml/nsio.c:
+	mshtml: Use GetWineURL in before_async_open.
+
+	* dlls/mshtml/olecmd.c:
+	mshtml: Remove no longer used defines.
+
+2007-09-28  Juan Lang <juan.lang@gmail.com>
+
+	* include/wincrypt.h:
+	wincrypt.h: Add a few more definitions.
+
+	* dlls/wintrust/asn.c, dlls/wintrust/wintrust.spec:
+	wintrust: Add stub for WVTAsn1SpcSpOpusInfoDecode.
+
+	* dlls/crypt32/msg.c:
+	crypt32: Correct copying a signer info's attributes.
+
+	* dlls/wintrust/wintrust_main.c:
+	wintrust: Don't warn for generic cert verify action.
+
+	* dlls/wintrust/softpub.c:
+	wintrust: In SoftpubLoadSignature, don't assume a message is present.
+
+	* dlls/wintrust/softpub.c:
+	wintrust: Improve SoftpubLoadMessage for WTD_CHOICE_CERT.
+
+	* dlls/wintrust/softpub.c, dlls/wintrust/wintrust.spec:
+	wintrust: Implement SoftpubDefCertInit.
+
+	* dlls/crypt32/serialize.c:
+	crypt32: Be more strict about format of serialized store files.
+
+	* dlls/crypt32/filestore.c, dlls/crypt32/tests/store.c:
+	crypt32: Implement opening file name stores from files that contain PKCS7
+	messages.
+
+	* dlls/crypt32/filestore.c:
+	crypt32: Allow file stores to support more than one type of file.
+
+	* dlls/crypt32/filestore.c:
+	crypt32: Create file store directly in CRYPT_FileNameOpenStoreW.
+
+	* dlls/crypt32/filestore.c:
+	crypt32: Add a helper function to create a file store from an already-initialized
+	memory store.
+
+2007-09-29  Dmitry Timoshkov <dmitry@codeweavers.com>
+
+	* dlls/user32/tests/msg.c:
+	user32: WM_IME_SETCONTEXT messages are optional.
+
+2007-09-28  Maarten Lankhorst <m.b.lankhorst@gmail.com>
+
+	* dlls/gdi32/bidi.c:
+	gdi32: Fix 3 tiny bugs in bidi.
+
+2007-09-27  Maarten Lankhorst <m.b.lankhorst@gmail.com>
+
+	* dlls/gdi32/bidi.c, dlls/gdi32/gdi_private.h:
+	gdi32: Fix meaning and use of bidirectionality flags.
+
+2007-09-28  Alexandre Julliard <julliard@winehq.org>
+
+	* Makefile.in, configure, configure.ac, dlls/Makefile.in,
+	  dlls/msvcirt/Makefile.in, dlls/msvcirt/msvcirt.c,
+	  dlls/msvcirt/msvcirt.spec:
+	msvcirt: Added stub implementation of msvcirt.dll.
+
+	* ANNOUNCE, ChangeLog, VERSION, configure:
+	Release 0.9.46.
+
+----------------------------------------------------------------
 2007-09-28  Andrey Turkin <andrey.turkin@gmail.com>
 
 	* dlls/kernel32/change.c, dlls/kernel32/file.c, dlls/kernel32/sync.c,
diff --git a/VERSION b/VERSION
index adaaba2..34caf9c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 0.9.46
+Wine version 0.9.47
diff --git a/configure b/configure
index 566d139..9e1e78b 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.46.
+# Generated by GNU Autoconf 2.61 for Wine 0.9.47.
 #
 # 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.46'
-PACKAGE_STRING='Wine 0.9.46'
+PACKAGE_VERSION='0.9.47'
+PACKAGE_STRING='Wine 0.9.47'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 
 ac_unique_file="server/atom.c"
@@ -1287,7 +1287,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.46 to adapt to many kinds of systems.
+\`configure' configures Wine 0.9.47 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1356,7 +1356,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 0.9.46:";;
+     short | recursive ) echo "Configuration of Wine 0.9.47:";;
    esac
   cat <<\_ACEOF
 
@@ -1451,7 +1451,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 0.9.46
+Wine configure 0.9.47
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1465,7 +1465,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.46, which was
+It was created by Wine $as_me 0.9.47, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -21373,7 +21373,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.46, which was
+This file was extended by Wine $as_me 0.9.47, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21426,7 +21426,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Wine config.status 0.9.46
+Wine config.status 0.9.47
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
