The Wine development release 1.1.17 is now available.

What's new in this release (see below for details):
  - Joystick support on Mac OS X.
  - Implementation of iphlpapi on Solaris. 
  - A number of 64-bit improvements.
  - Obsolete LinuxThreads support has been removed.
  - Many fixes to the regression tests on Windows.
  - Various bug fixes.

The source is available from the following locations:

  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.17.tar.bz2
  http://prdownloads.sourceforge.net/wine/wine-1.1.17.tar.bz2

Binary packages for various distributions will be available from:

  http://www.winehq.org/site/download

You will find documentation on http://www.winehq.org/site/documentation

You can also get the current source directly from the git
repository. Check http://www.winehq.org/site/git for details.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.

----------------------------------------------------------------

Bugs fixed in 1.1.17:

   8011  SmartBarXP crashes if you add the Weather Channel pane
   9027  No sound for rise of nations - all versions
   9615  RPG Maker, Fritz9, Amazon Music Downloader: crash when clicking menu bar.   (Screws up Adobe Photoshop CS4 menus, too.)
  10831  Guild Wars: "Observe" menu does not display additional information about selected game
  12143  Black halos surround NPCs in Fable
  12690  Internet Explorer 7 is falling after start on unhandled exception.
  14968  DrawPrim.c needs to handle more than 4 vertex shader prims causes crash in everquest and does not allow rendering
  15007  The Lost Crown's menu is no longer accessible in-game
  15264  Audio broken under Solaris
  15314  winhelp: transition to richedit breaks minigolf1997.hlp file
  15616  winecfg does not show *.acm (or other non .dll) overrides, must be typed in manually
  15707  winhttp: winhttp.ok test fails in OpenSolaris
  15798  3D Game Studio text objects newline characters mistranslated
  16023  FreeBSD (PC-BSD) fails to launch majority of applications, 'Invalid address'
  16838  'make install' broken on BSD
  16937  Invisible text in Autocad LT 97
  17365  AutoCAD: Buttons on the bottom don't change their graphical state if pressed/released
  17384  Naval units in Civilization 4 are drawn incorrectly
  17452  Lcms error crashes PowerPoint 2003
  17485  Non-windows apps generate an inappropriate dialog
  17511  Game pauses when pressing NumLock
  17547  Powerpoint 2007: crashes when opening complex .pptx files.
  17601  winhlp32: links ceased working
  17627  winhlp32: clickable area out of sync with hyperlink text
  17636  urlmon: protocol test fails with +heap enabled

----------------------------------------------------------------

Changes since 1.1.16:

Alexandre Julliard (100):
      loader: Get rid of the no longer supported wine-kthread.
      iphlpapi: Reimplement GetUdpTable to avoid parsing the same information three times.
      iphlpapi: Reimplement GetTcpTable to avoid parsing the same information three times.
      iphlpapi: Reimplement GetIpNetTable to avoid parsing the same information three times.
      iphlpapi: Reimplement GetIpForwardTable to avoid parsing the same information three times.
      iphlpapi: Moved AllocateAndGetUdpTableFromStack implementation to ipstats.c.
      iphlpapi: Moved AllocateAndGetTcpTableFromStack implementation to ipstats.c.
      iphlpapi: Moved AllocateAndGetIpNetTableFromStack implementation to ipstats.c.
      iphlpapi: Moved AllocateAndGetIpForwardTableFromStack implementation to ipstats.c.
      iphlpapi: Remove the no longer needed getNumArpEntries function.
      iphlpapi: Remove the no longer needed getNumUdpEntries function.
      iphlpapi: Remove the no longer needed getNumTcpEntries function.
      iphlpapi: Remove the no longer needed getNumRoutes and GetNumWithOneHeader functions.
      server: Overlapped named pipes are never blocking, even if no APC was specified.
      server: Make the new named pipe server fd inherit the I/O completion if it was set before connecting.
      kernel32: Fix the last error code for timeout in GetQueuedCompletionStatus.
      uninstaller: Only load error strings when needed.
      user32: Use MAKEWPARAM instead of MAKELONG for menu messages.
      user32/tests: Fix a couple of failing menu tests.
      user32/tests: Add some more optional messages.
      configure: 16-bit object files should depend on IDL headers too.
      makefiles: Add a dummy dependency on empty targets to work around a FreeBSD make bug.
      configure: Enable automatic dependencies for FreeBSD make.
      iphlpapi: Move the ip/icmp/tcp/udp statistics functions to ipstats.c.
      advapi32/tests: GetTokenInformation apparently needs a dword-aligned buffer.
      winebuild: Don't output the relay table if no entry point needs it.
      winebuild: Support the --main-module option for stand-alone 16-bit modules.
      winebuild: Ignore 16-bit absolute exports when checking for undefined symbols.
      kernel32: Make stress.dll into a stand-alone 16-bit module.
      kernel32: Make win87em.dll into a stand-alone 16-bit module.
      kernel32: Make comm.drv into a stand-alone 16-bit module.
      kernel32: Make windebug.dll into a stand-alone 16-bit module.
      gdi32: Make dispdib.dll into a stand-alone 16-bit module.
      user32: Make display.drv into a stand-alone 16-bit module.
      user32: Make keyboard.drv into a stand-alone 16-bit module.
      user32: Make mouse.drv into a stand-alone 16-bit module.
      kernel32/tests: Improve some failure messages in the pipe tests.
      ddraw/tests: Allow IDirectDrawSurface_AddAttachedSurface failure on Windows.
      kernel32/tests: Stop testing integer atoms if the first one doesn't work.
      iphlpapi: Simplify parsing of ICMP stats. Only try to open /proc on Linux.
      iphlpapi: Simplify parsing of interface data. Only try to open /proc on Linux.
      iphlpapi: Simplify parsing of IP stats. Only try to open /proc on Linux.
      iphlpapi: Simplify parsing of TCP stats. Only try to open /proc on Linux.
      iphlpapi: Simplify parsing of UDP stats. Only try to open /proc on Linux.
      user32/tests: Mark a couple of painting messages as optional.
      user32/tests: Skip menu test if sending input failed. Use VK_MENU instead of VK_LMENU.
      ntdll: Fix a couple of warnings on Solaris.
      configure: Add check for libkstat on Solaris.
      iphlpapi: Implemented GetIcmpStatistics for Solaris.
      iphlpapi: Implemented GetIpStatistics for Solaris.
      iphlpapi: Implemented GetTcpStatistics for Solaris.
      iphlpapi: Implemented GetUdpStatistics for Solaris.
      iphlpapi: Implemented getInterfaceStatsByName for Solaris.
      iphlpapi/tests: Don't pass a NULL size to GetTcp/UdpTable, it crashes on Vista.
      ntdll/tests: Create the server port before starting the client thread.
      comctl32/tests: Set the listview image list after WM_CREATE has been processed.
      comctl32/tests: Fix the monthcal window creation message sequence.
      comctl32/tests: Disable a test that crashes on NT4.
      user32/tests: Add more optional messages for Vista and Win9x.
      dbghelp: Define _IMAGEHLP_SOURCE_.
      user32/tests: Avoid snprintf, it's broken on Mingw.
      user32/tests: Fix some message sequences for Vista and Win9x.
      iphlpapi: Implemented AllocateAndGetTcpTableFromStack for Solaris.
      iphlpapi: Implemented AllocateAndGetUdpTableFromStack for Solaris.
      iphlpapi: Implemented AllocateAndGetIpNetTableFromStack for Solaris.
      iphlpapi: Implemented AllocateAndGetIpForwardTableFromStack for Solaris.
      iphlpapi/tests: Output the various tables in verbose mode.
      loader: Merge the first and second stage loaders into a single wine binary.
      dbghelp: The main executable is now always named "wine".
      user32/tests: SetForegroundWindow sometimes fails on Win98.
      user32/tests: Skip shift+button test if we don't receive the event.
      wineps.drv: Make all exported entry points CDECL.
      configure: Check for IOHIDManagerCreate function that's missing on Tiger.
      kernel32: Make the load order for a 16-bit stand-alone dll match its 32-bit owner.
      lz32: Make lzexpand.dll into a stand-alone 16-bit module.
      msacm32: Make msacm.dll into a stand-alone 16-bit module.
      olecli32: Make olecli.dll into a stand-alone 16-bit module.
      olesvr32: Make olesvr.dll into a stand-alone 16-bit module.
      ole32: Make ole2conv.dll into a stand-alone 16-bit module.
      ole32: Make ole2prox.dll into a stand-alone 16-bit module.
      ole32: Make ole2thk.dll into a stand-alone 16-bit module.
      ole32: Make ole2nls.dll into a stand-alone 16-bit module.
      ole32: Make storage.dll into a stand-alone 16-bit module.
      ole32: Make ole2.dll into a stand-alone 16-bit module.
      ole32: Make compobj.dll into a stand-alone 16-bit module.
      ole32: Get rid of WINE_StringFromCLSID and A->W conversions.
      oleaut32: Make typelib.dll into a stand-alone 16-bit module.
      oleaut32: Make ole2disp.dll into a stand-alone 16-bit module.
      wine.inf: Fix typo in the shift_jis entry.
      rpcrt4: Use RpcMsg->Buffer instead of BufferStart since the latter isn't always set.
      setupapi: Check for NULL module to avoid an exception in RtlImageNtHeader.
      winspool.drv: Make sure the DEVMODE structure is fully initialized.
      winedbg: Don't name a function PRIVATE.
      user32/tests: Add optional restore sequence for Vista.
      user32/tests: Print a more useful line number in check_class and check_instance tests.
      ntdll: Move the copy_context function into the respective CPU-specific files.
      ifsmgr.vxd: Load winedos dynamically.
      vwin32.vxd: Load winedos dynamically.
      winedos: Don't create an import library.
      make_makefiles: Automatically disable 16-bit modules if enable_win16 isn't set.

Alistair Leslie-Hughes (18):
      mshtml: Implement IHTMLStyle get/put textDecorationNone.
      mshtml: Implement IHTMLStyle get/put textDecorationOverline.
      mshtml: Implement IHTMLStyle get/put textDecorationBlink.
      mshtml: Implement IHTMLStyle_put_textDecoration.
      mshtml: Implement IHTMLStyle get/put borderColor.
      mshtml: Implement IHTMLCurrentStyle_get_borderColor.
      mshtml: Implement IHTMLStyle get/put borderStyle.
      mshtml: Implement IHTMLCurrentStyle_get_borderStyle.
      shell32: Add and register CLSID_QueryAssociations.
      mshtml: Add missing IHTMLStyle IDispatchEx ids.
      mshtml: Add missing IHTMLCurrentStyle IDispatchEx ids.
      mshtml: Implement IHTMLStyle_get_borderLeft.
      mshtml: Implement IHTMLStyle get/put backgroundPositionX.
      mshtml: Implement IHTMLStyle get/put backgroundPositionY.
      mshtml: Implement IHTMLStyle get/put borderTopWidth.
      mshtml: Implement IHTMLStyle get/put borderRightWidth.
      mshtml: Implement IHTMLStyle get/put borderBottomWidth.
      mshtml: Add missing IHTMLTable interfaces.

Anders Jonsson (1):
      README: Swedish translation.

Andrew Talbot (2):
      comdlg32: Fix a typo.
      msacm32: Fix a typo.

Aric Stewart (16):
      dinput: Begin joystick separation into a generic module.
      dinput: Move joystick productGuid and Name to the generic part.
      dinput: Move joystick Polling and Device State to the generic part.
      dinput: Move joystick mapping functions to the generic part.
      dinput: Rename Linux-specific joystick functions.
      dinput: Remove easy redundancy from linuxinput.
      dinput: Create generic joystick Acquire/Unacquire.
      dinput: Add Mac OS/X joystick support.
      dinput: OS/X joystick add axes.
      dinput: OS/X joystick add POV controls.
      dinput: OS/X joystick add GD_X, GD_Y, GD_Z axes.
      dinput: OS/X joystick add Rx,Ry,and Rz axes.
      dinput: Map OS/X joystick axes so even if they come out of order on the device we recognize them correctly.
      dinput: Add OS/X sliders.
      dinput: OS/X joystick: Check usage page to avoid odd non-button elements found on the 360 controller.
      dinput: OS/X joystick: Sort buttons based on usage as some controllers report the buttons out of order.

Aurimas Fischer (6):
      comctl32: Add Lithuanian translation.
      shell32: Update Lithuanian translation.
      notepad: Improve Lithuanian translation.
      comdlg32: Improve Lithuanian translation.
      regedit: Add Lithuanian translation.
      regedit: Add missing English resource.

Christian Costa (3):
      wine.inf: Use 32-bit version of MCI DirectShow driver.
      ddraw: Implement IDirect3DViewportImpl_NextLight.
      d3dxof: Use offsets to reference data instead of pointers so data buffer can be resized.

Denis Baranov (1):
      wine.inf: Add registry branch HKEY_CLASSES_ROOT\MIME\Database\Charset.

Detlef Riekenberg (6):
      shdocvw/tests: Add IServiceProvider to the webbrowser test.
      shdocvw/tests: Detect more interfaces in the webbrowser test.
      spoolss: Implement AddMonitorW.
      spoolss: Implement DeleteMonitorW.
      spoolss: Implement AddPrinterDriverExW.
      localspl: Return 0 for the local computer.

Diaa Sami (1):
      cmd: Fixed a number of buffer overflows.

Dmitry Timoshkov (2):
      winex11.drv: Take into account current world transform when caching glyphs.
      gdi32: Fix the font rotation direction.

Dylan Smith (6):
      richedit: Avoid calling ITextHost_TxNotify with EN_MSGFILTER.
      winhlp32: Use EM_SCROLL to scroll richedit control.
      richedit: Respect manually added links when autourldetect is disabled.
      richedit: Count graphics towards line width.
      winhlp32: Prevent cursor flicker on mouse moves over richedit control.
      winhlp32: Links are clicked on WM_LBUTTONDOWN not WM_LBUTTONUP.

Eric Pouech (1):
      winex11: Correctly pad 1 bpp DDB's lines with 0 values.

Francois Gouget (14):
      uninstaller: Use DELAYIMPORTS on the GUI dlls to speed up 'uninstaller --list'.
      sane.ds: Fix compilation with older SANE headers.
      libwine: Reenable the memory reservation code on FreeBSD.
      winedbg: Remove spaces before '\n's.
      fnt2bdf: Remove spaces before '\n's.
      port: Remove spaces before '\n's.
      Remove spaces before '\n's.
      winmm: Try to load the Esound driver as a last resort.
      avifil32: Add missing AddRefs in IAVIFile_QueryInterface().
      avifil32: Add a missing AddRef in IGetFrame_QueryInterface().
      winemenubuilder: Fix an off-by-one check that resulted in erroneous error messages.
      winemenubuilder: Print an error message if we are unable to load an lnk file.
      dinput: Add a trailing '\n' to ERR() messages.
      mshtml: Fix typos in the French translation.

Gerald Pfeifer (1):
      comctl32: Simplify three TAB_ functions.

Hans Leidekker (10):
      wininet: Remove MSG_PEEK hack from HTTP_GetResponseHeaders.
      wininet: Ignore invalid response headers.
      usp10: Don't test digit substitution data.
      mscms: Accept REG_DWORD values when enumerating registered color profiles.
      winhttp, wininet: Load i2d_X509 from libcrypto.so.
      mscms: Handle errors from lcms more gracefully.
      msi: Fix handling of REINSTALL overrides.
      msi: Correct spec entry for MsiGetProductInfoA/W.
      msi: Handle ADVERTISE overrides.
      msi: Set concurrency model to multi-threaded for custom action threads.

Henri Verbeet (60):
      d3d10: Fix a typo.
      d3d10: Implement ID3D10Effect::GetTechniqueByName().
      d3d10: Implement ID3D10Effect::GetTechniqueByIndex().
      d3d10: Implement ID3D10EffectTechnique::GetPassByName().
      d3d10: Implement ID3D10EffectTechnique::GetPassByIndex().
      d3d10: Actually use the parse_fx10() return value.
      d3d10: Simplify DXBC chunk handlers.
      d3d10: Implement ID3D10EffectTechnique::GetDesc().
      d3d10: Store the shader's input signature.
      d3d10: Implement ID3D10EffectPass::GetDesc().
      wined3d: Use flags for shader_glsl_get_sample_function().
      d3d10core: Add a stub ID3D10InputLayout implementation.
      d3d10core: Add a stub ID3D10VertexShader implementation.
      d3d10core: Add a stub ID3D10GeometryShader implementation.
      d3d10core: Add a stub ID3D10PixelShader implementation.
      wined3d: Pass the vertex count rather than the primitive count to wined3d draw methods.
      wined3d: Fix some prototypes.
      wined3d: Add support for ARB_geometry_shader4.
      wined3d: Add d3d10 primitive types.
      wined3d: Add separate methods for setting the primitive type.
      d3d10core: Implement ID3D10Device::Draw().
      d3d10: Implement ID3D10Effect::GetDevice().
      d3d10: Create shaders.
      d3d10: Implement ID3D10EffectPass::Apply().
      wined3d: Also set VBFLAG_HASDESC if we can determine we don't need conversion.
      wined3d: Simplify IWineD3DVertexBufferImpl_PreLoad() a bit.
      wined3d: Merge IWineD3DVertexBuffer with IWineD3DBuffer.
      d3d9: Improve IDirect3DDevice9::SetFVF() code flow.
      wined3d: Buffer object ID's are supposed to be unsigned.
      wined3d: Don't compare texUnitMap entries to -1.
      wined3d: Don't compare const_num against -1.
      wined3d: Use shader_glsl_get_write_mask_size() to calculate the write mask size.
      wined3d: Handle error conditions better in RemoveContextFromArray().
      d3d9: Fix some sign compare warnings.
      wined3d: Don't call shader_glsl_append_dst() from shader_glsl_texldl().
      wined3d: Get rid of a few stack buffers.
      d3d8: Fix some sign compare warnings.
      d3d8: Don't call Release() in a while loop.
      d3d8: Make the shader handle table a bit more generic.
      d3d8: Handles aren't supposed to be pointers.
      wined3d: Set the correct texture names on cube surfaces.
      wined3d: Free the logo path when we're done with it.
      wined3d: The adapters array should be owned by IWineD3DImpl.
      wined3d: Get rid of the PUSH1 macro.
      wined3d: Don't leak WineD3DAdapter.cfgs.
      d3d9: Present parameters are an array when D3DCREATE_ADAPTERGROUP_DEVICE is specified.
      wined3d: Explicitly pass the texUnitMap to shader_glsl_load_vsamplers() and shader_glsl_load_psamplers().
      wined3d: Remove an unused field.
      wined3d: Remove a redundant check.
      wined3d: Store a pointer to the format description in the resource.
      wined3d: Get rid of some calls to getFormatDescEntry().
      wined3d: Remove the shader_color_fixup field from IWineD3DBaseTextureClass.
      d3d8: Release the d3d8 shader once we're done with it in IDirect3DDevice8Impl_GetPixelShader().
      wined3d: Also change the resource's format desc in IWineD3DBaseSurfaceImpl_SetFormat().
      wined3d: Eliminate the heightscale field from IWineD3DSurfaceImpl.
      wined3d: Remove some redundant fields from struct glDescriptor.
      wined3d: Remove the width and height fields from IWineD3DTextureImpl.
      wined3d: Add fields from StaticPixelFormatDesc to struct GlPixelFormatDesc.
      wined3d: Only return a pointer to struct GlPixelFormatDesc from getFormatDescEntry().
      wined3d: Remove the format field from IWineD3DResourceClass.

Huw Davies (15):
      gdiplus/tests: Elliptic regions have a shorter layout in win98.
      gdi32/tests: Improve some test failure messages.
      gdi32/tests: Win9x doesn't initialize the bitmap bits, so skip this test.
      gdi32/tests: Fix tests on NT4.
      ole32: Add support for VT_DECIMAL.
      gdi32/tests: Mark win9x behaviour as broken.
      gdi32/tests: win9x doesn't return the correct number of colours used with dib sections created via DIB_PAL_COLORS.
      gdi32/tests: Fix another case where win9x returns bmType equal to 0x5250.
      gdi32/tests: Fix yet another place where win9x returns bmType equal to 0x5250.
      gdi32/tests: Marked another win9x failure as broken.
      gdi32/tests: Win9x's GetDIBits() sets biSizeImage to zero for BI_RGB dibs.
      gdi32/tests: Remove a cut and paste error.
      gdi32/tests: win9x doesn't initialise the bitmap bits. Mark this behaviour as broken.
      gdi32/tests: Mark as broken another case where win9x doesn't set biSizeImage.
      gdi32/tests: Under win9x GetBitmapBits returns zero when passed a NULL buffer.

Hwang YunSong(황윤성) (3):
      setupapi: Updated Korean resource.
      wordpad: Updated Korean resource.
      cmd: Updated Korean resource.

Jacek Caban (25):
      urlmon: Ignore report_data call if binding is stopped.
      urlmon: Move some HttpProtocol variables to generic Protocol object.
      urlmon: Move strndupW implementation to header file.
      urlmon: Moved HttpProtocol::[Lock|Unlock]Request implementation to generic Protocol object.
      urlmon: Move close_connection implementation to common Protocol object.
      urlmon: Move HttpProtocol::Read implementation to generic Protocol object.
      urlmon: Move HttpProtocol::Continue implementation to generic Protocol object.
      urlmon: Move HttpProtocol::Start implementation to generic Protocol object.
      urlmon: Move HttpProtocolVtbl to its implementation (code clean up).
      urlmon: Added IInternetPriority interface stup implementation to FtpProtocol.
      wininet: Don't send INTERNET_STATUS_HANDLE_CLOSING notification for ftp session created by InternetOpenUrl.
      urlmon: Added ftp pluggable protocol implementation.
      urlmon: Use pluggable protocol for ftp binding.
      urlmon: Added ftp protocol tests.
      urlmon: Added ftp binding tests.
      urlmon: Added gopher protocol handler stub implementation.
      urlmon: Added IInternetPriority implementation for gopher protocol.
      urlmon: Added gopher pluggable protocol implementation.
      urlmon: Get rid of URLMonikerImpl_BindToStorage_hack.
      wininet: Release session after FTP_ReceiveResponse call in FTPFILE_Destroy.
      mshtml: Added IHTMLElement::put_innerHTML implementation.
      mshtml: Added IHTMLStyle::get_cssText implementation.
      mshtml: Added IHTMLStyle::put_cssText implementation.
      mshtml: Make sure that HTML headers are terminated by endline.
      mshtml: Don't use unicode constants for HTML IDs (code clean up).

James Hawkins (11):
      msi: Correctly order transposed column values in the INSERT query.
      msi: Order primary keys to be first in the column list when creating a table.
      msi: Column attributes for temporary string and int columns should be g and j respectively.
      msi: The _Streams and _Storages table are special and always exist.
      msi: The PATH environment variable can be longer than MAX_PATH, so dynamically allocate strings to deal with that.
      msi: Delete the view on error.
      msi: Use a SQL marker to query the _Property table when fetching a property.
      msi: Add missing calls to MsiViewClose.
      msi: Don't allow nested quotes in SQL queries.
      msi: Don't treat carriage returns as spaces.
      msi: Handle reading from a NULL stream.

Jeremy White (18):
      sane.ds: Downgrade inappropriate FIXMEs.
      sane.ds: Add a few trace messages useful in following color format.
      sane.ds: Implement grayscale and B&W scanning for native image transfers.
      sane.ds: Implement support for ICAP_PHYSICALHEIGHT and ICAP_PHYSICALWIDTH.
      sane.ds: Add suport for CAP_AUTOFEED, make batch scans the default.
      sane.ds: Add support for CAP_FEEDERENABLED.
      sane.ds: More correctly detect an end of scan job from sane; this enables Acrobat to pull multiple pages in one scan.
      sane.ds: Sane should go first; that makes any actual scanner found the default device.
      sane.ds: Fix a subtle bug that prevented the float scrollbar from incrementing by one.
      sane.ds: Add support for ICAP_SUPPORTEDSIZES, enabling rational sizing for scans.
      sane.ds: Make sure that the condition code is set correctly when we handle an unexpected request.
      sane.ds: Downgrade more inappropriate FIXMEs to WARNs.
      sane.ds: Remove large chunks of stubbed optional functionality; if it's optional, we don't have to support it, and it is not a stub.
      sane.ds: Add fixmes for the last 2 unsupported capabilities; this now makes the code have fixmes for all known issues.
      twain_32: Remove obsolete README files.
      sane.ds: Move a few static functions so they can be shared.
      sane.ds: Add support for DG_IMAGE/DAT_IMAGELAYOUT/GET and SET. Enables Acrobat to use custom scan sizes.
      twain_32: Revise internal documentation and one test slightly to bring into line with TWAIN 1.8 requirements.

Jim Cameron (1):
      regedit: Fix crash importing large values from Unicode.

Juan Lang (3):
      crypt32: Fix some test failures on Win9x.
      crypt32: Fix some test failures on Win9x.
      crypt32: Fix another test on Win9x.

Jörg Höhle (1):
      d3d9/tests: Fix typos in text.

Ken Thomases (13):
      dsound: Don't use HEAP_ZERO_MEMORY when we're about to overwrite the buffer.
      dbghelp/stabs: Translate additional register codes.
      dbghelp/stabs: Ignore the N_OSO type used on Darwin.
      dbghelp/stabs: Decode the Stabs type more carefully.
      dbghelp: Let stabs_parse call back for real (non-debug) symbol definitions.
      configure: Check for mach-o/dyld_images.h and mach-o/nlist.h headers.
      dbghelp: Teach stabs_parse about other kinds of Mach-O symbol definitions.
      dbghelp/stabs: Extract growing of pending_block's buffer to pending_make_room().
      dbghelp/stabs: Allow pending list to include line numbers as well as variables.
      dbghelp/stabs: Track line numbers pending for an upcoming function.
      dbghelp: Rename some things to be less ELF-centric.
      dbghelp: Extract calc_crc32 function into a separate file.
      dbghelp: Increase file read buffer size for calc_crc32.

Luke Benstead (1):
      winnt.h: Completed TOKEN_INFORMATION_CLASS enum definition.

Michael Stefaniuc (27):
      mcicda: Compare a file handle with INVALID_HANDLE_VALUE instead of NULL.
      user32: Remove superfluous pointer casts.
      taskmgr: Cast to LPARAM the 4th argument passed to SendMessage.
      regedit: Cast to LPARAM the 4th argument passed to SendMessage.
      mlang: Silence some Win64 compile warnings.
      winedos: Remove superfluous pointer casts.
      cryptui: Remove superfluous pointer casts.
      mlang: Remove superfluous pointer casts.
      netapi32: Remove superfluous pointer casts.
      msctf: Remove superfluous pointer casts.
      twain_32/tests: Remove superfluous pointer casts.
      include: Change long to LONG in tom.idl.
      msxml3: Change long to LONG in msxml2.idl and xmldom.idl.
      msxml3: Change long to LONG in msxml.idl.
      msxml3: Change the remaining long variables to LONG.
      quartz: Change long to LONG in control.idl.
      mlang: Change long to LONG in mlang.idl.
      kernel32: Remove superfluous pointer casts.
      d3d9/tests: Limit the back buffer to 800x600 in the scissor size test.
      d3d9/tests: Fix some ok() strings in the fog test.
      include: Change long to LONG in axextend.idl.
      qedit: Change long to LONG in qedit.idl.
      include: Change long to LONG in mshtml.idl.
      mshtml: Change long to LONG in mshtml.idl (htmlwindow.c part).
      mshtml: Change long to LONG in mshtml.idl (HTML*Element stuff).
      mshtml: Change long to LONG in mshtml.idl (remaining stuff).
      widl: Output "LONG" instead of "long" for a 32bit integer.

Mike Ruprecht (3):
      winedbg: Fix typo in a comment.
      dbghelp: Don't define 32-bit structs in 64-bit mode.
      dbghelp: Define _IMAGEHLP64 in Win64.

Nikolay Sivov (7):
      comctl32: Correctly report systemcolor use for Treeview background.
      user32: Disable scroll bar control window when both buttons disabled.
      user32: Use 1 unit caret width for Edit control.
      comctl32: Replace nonprintable characters with spaces on SB_SETTEXT.
      user32: Button should get captured when highlighted with VK_SPACE.
      comctl32: Fix item selection with VK_SPACE when Ctrl is pressed.
      comctl32: LVN_ITEMCHANGED notification should be sent for each item when group selected for ~LVS_OWNERDATA.

Paul Vriens (41):
      crypt32/tests: Don't crash on NT4.
      fusion/tests: Skip some tests on .NET 1.x.
      fusion/tests: Fix the last test failure on .NET 1.x.
      d3d8/tests: Use win_skip() and skip() where appropriate.
      user32/tests: Fix some test failures on Win98/WinME.
      msi/tests: Fix a test failure on Win95.
      shlwapi/tests: Fix a typo.
      shlwapi/tests: Fix some typos.
      kernel32/tests: Correct an ok() statement.
      shell32/tests: Use the correct directory on Win95.
      shell32/tests: Make sure we test on Win95.
      shell32/tests: Skip some tests on Win95 because of W-functions.
      urlmon/tests: Use an action that is available on all IE versions.
      programs/winetest: Show dll versions again for Win9x/WinME.
      qmgr/tests: Fix some tests on systems with BITS 1.5 and lower.
      ole32/tests: Remove an unused function declaration.
      shdocvw/tests: Add a missing FreeLibrary().
      gdiplus/tests: Fix two test failures on Win98.
      mshtml/tests: Fix some typos.
      wininet/tests: Test result differences are related to IE6 version, not to platform.
      wininet/tests: Skip some tests on IE5.
      wininet/tests: Skip tests for not implemented functions.
      wininet/tests: Don't crash on systems with IE5.
      shlwapi/tests: Don't crash on IE5.
      shlwapi/tests: Fix failures on systems with IE5.5 or earlier.
      shell32/tests: Don't crash on missing class implementations.
      wininet/tests: Skip tests if functions are not implemented.
      wininet/tests: Don't crash on IE5.01SP4.
      ddraw/tests: Fix some test failures on W2K/VMware.
      ddraw/tests: Fix some test failures on W2K/VMware.
      crypt32/tests: Fix a test failure on Win9x.
      msi/tests: Fix a test for systems with %TEMP% being less than 2 levels deep.
      shell32/tests: Fix a test failure on W2K and earlier.
      fusion/tests: Fix some test failures on Win98.
      gdi32/tests: Fix two test failures on Win9x.
      crypt32/tests: Fix some test failures on Win9x.
      crypt32/tests: Fix some crashes on older NT4 boxes.
      crypt32/tests: Fix some test failures on older NT4 boxes.
      gdi32/tests: Fix some test failures on Win9x.
      ddraw/tests: Fix two test failures on W2K/VMware.
      ddraw/tests: Fix a test failure on VMware and some native boxes.

Piotr Caban (2):
      mshtml: Added HTMLWindow2_prompt implementation.
      mshtml: Added IHTMLWindow2_confirm implementation.

Rein Klazes (2):
      user32: MENU_TrackMenu, called from TrackPopupMenu(), should send WM_ENTERIDLE message with the menu window handle as lparam with test.
      user32: Check for invalid menu handle passed to TrackPopupMenu and TrackPopupMenuEx.

Ricardo Filipe (1):
      setupapi: Implement SetupPromptForDiskA by wrapping around W version.

Rico Schüller (2):
      mshtml/tests: Fix SysFreeString call with wrong variable.
      mshtml/tests: Add SysFreeString(sDefault) after the variable isn't used any more.

Rob Shearman (20):
      widl: Move declarray property to array_details.
      widl: Fix get_explicit_generic_handle_type and is_context_handle to detect attributes set on typedefs other than the first.
      widl: Implement a more abstract way of representing basic types.
      widl: Remove the single keyword and type.
      widl: Store the abstract identifier of the type in type object instead of an NDR format character.
      widl: Move the pointer referent, array element, function return type and interface inheritance properties from type_t to details structures for the appropriate types.
      widl: Allow enum and union tags to be used without being defined.
      widl: Move type_new_enum, type_new_struct, type_new_encapsulated_union and type_new_unencapsulated_union to typetree.c.
      widl: Add coclass and module types to the global namespace.
      widl: Pass var attrs into write_no_repeat_pointer_descriptions and use them for the string check.
      ole32: Fix a memory leak in an error path in COMPOBJ_DllList_Add.
      qmgr: Fix a memory leak.
      qmgr: Add a missing call to CoUninitialize.
      widl: Consolidate non-simple pointer writing into one function.
      widl: Determine pointer fc at generation time instead of at parse time.
      widl: Output server code for freeing returned types.
      widl: Fix a memory leak in the server/stub code when unmarshalling pointers to strings at the top level.
      widl: Move type_basic_get_fc to typegen.c and rename it to get_basic_fc.
      widl: Returned pointers should default to being unique, not reference.
      rpcrt4: Add a check for a NULL ref pointer to NdrPointerUnmarshall.

Stefan Leichter (1):
      ntoskrnl.exe: Stub for MmQuerySystemSize.

Stefano Guidoni (4):
      imaadp32: block align the adpcm extra data.
      imaadp32: Fixed adpcm_FormatSuggest.
      imaadp32: Support for non-standard formats.
      msacm32: acmFormatEnum: Implement ACM_FORMATENUMF_SUGGEST.

Steven Edwards (1):
      include: Add check to asm macro for Windows Services for Unix/Subsystem for Unix applications.

Tony Wasserka (8):
      d3dx9: Implement ID3DXSprite_Get/SetTransform.
      d3dx9: ID3DXSprite: Move vdecl creation to ID3DXSprite_Begin.
      d3dx9: Implement ID3DXSprite_OnLostDevice/OnResetDevice.
      d3dx9: Fix inclusions in some d3dx9 headers.
      d3dx9: Add some definitions in d3dx9.h.
      d3dx9: Add ID3DXSprite tests.
      d3dx9: Recognize the D3DXSPRITE_DONOTSAVESTATE flag.
      d3dx9: Recognize the D3DXSPRITE_DO_NOT_ADDREF_TEXTURE flag.

Vincent Povirk (5):
      kernel32/tests: Add named pipe test using i/o completion ports.
      gdiplus: Return a NULL bitmap when GdipCreateBitmapFromScan0 fails.
      advapi32: Stub TraceEvent.
      wininet: Stub RegisterUrlCacheNotification.
      gdiplus: Stub GdipCloneBitmapAreaI.

Vitaliy Margolen (1):
      dinput: Add few special cases for key mappings.

--
Alexandre Julliard
julliard@winehq.org
