Wine Announcement

The Wine development release 4.10 is now available.

What's new in this release (see below for details):
  - Many DLLs are built as PE files by default.
  - More support for installing Plug and Play drivers.
  - Clock synchronization in Media Foundation.
  - Volume adjustment in audio drivers.
  - Various bug fixes.

The source is available from the following locations:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git
repository. Check 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 4.10 (total 44):

  11637  Midtown Madness menus flicker
  30891  Typing of the Dead: page fault in wined3d_surface_blt
  34021  IE8 crashes badly when navigating to
  34538  Athena's Charm Table search 0.35b crashes with Wine-Mono
  35999  Need for speed carbon DEMO: can't control the car with arrow keys
  37279  builtin IE "document.location.pathname" returns without leading slash
  38182  King of Dragon Pass: can't change audio volume level
  38396  msiexec crash with winetricks running LEGOHarryPotter
  40373  Double free in RPCRT4
  40768  Midtown Madness does not open: "There was an undetectable problem in loading the specified device driver"
  41606  Wrong processing of WM_DROPFILES message, received only by the top level windows.
  41835  LG DVD firmware updater for GH22NS30 ver. 2.0 crashes on startup
  43159  The old game Knight Of Knight has black textures
  43846  Prototype 1 and 2 no audio
  44979  Extra system title bar should not be added around Steam
  45649  chromium 32-bit sandbox hangs forever inside server_queue_process_apc
  46090  TopoEdit tool from Windows 10 SDK (10.0.17763.x) needs 'ext-ms-win-shell-comctl32-init-l1-1-0.dll' stub dll
  46450  Volume Control doesn't work in Firefox videos (and browsers based on it) with PulseAudio driver
  46558  win64 dotnet Space Engineers fractal noise generation broken
  46564  Anno 1800 closed beta crashes at launch
  46723  Unreal Engine based games stuck at launch and show a black screen instead of playing video (Kholat, What Remains of Edith Finch, Draugen, Obduction)
  46809  Multiple applications fail to install or crash on startup: dll dependencies from private path (LoadLibraryEx LOAD_WITH_ALTERED_SEARCH_PATH)(PS4 Remote Play 2.x. DVDVideoSoft Free YouTube to MP3 Converter 4.x)
  46824  Orion Prelude (Steam) crashes with wine-mono
  46942  [REGRESSION] 4.0 introduce lag / performance drop in Lara Croft the guardian of light
  46982  MPGUI crashes on unimplemented function msvcp100.dll.?_Init_locks_ctor@_Init_locks@std@@CAXPAV12@@Z
  47069  Final Fantasy XIV Launcher renders black (needs better get_Busy implementation)
  47137  Multiple applications from Line 6 (Yamaha Guitar Group) crash on startup (HX Edit v2.71, POD Farm 2.5)(Wine builtin 'gdiplus.dll' missing version resource)
  47143  Trackbar thumb is too small in Metatrader 4 expert advisor
  47201  Visual Studio 2015 crashes on unimplemented KERNEL32.dll.WerUnregisterRuntimeExceptionModule
  47223  D-pad input from gamepad is no longer registered in some games (regression)
  47235  Steep (Uplay) crashes on unimplemented function ncrypt.dll.BCryptSecretAgreement
  47236  Adobe InDesign CC 2017: crashes at startup: unimplemented function msvcp140.dll._Strxfrm
  47250 crashes with msvcp error when compiled with --without-mingw
  47255  Multiple programs  crash inside wined3d (Xenonauts, Overwatch, Aura 2: The Sacred Rings, Art of Murder: Cards of Destiny , LINE)
  47258  The Guild II fails to start with built-in quartz
  47262  compile error: ‘for’ loop initial declarations are only allowed in C99 mode
  47265  Multiple Blizzard games (Diablo III, Heroes of the Storm, Overwatch, Starcraft, StarCraft II, World of Warcraft) crash immediately on launch
  47274  Windows XP's cmd.exe doesn't execute batch files anymore
  47280  TopoEdit tool from Windows 10 SDK (10.0.17763.x) crashes on unimplemented functions 'ext-ms-win-ntuser-windowclass-l1-1-0.dll.{Get,Set}WindowLongPtrW'
  47285  widl generates incorrect format strings when using -Oicf flag
  47286  VSS Test Writer Tool 'vswriter.exe' from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function api-ms-win-security-lsalookup-l1-1-0.dll.LookupAccountSidLocalW
  47289  Obduction: fails to render menu and crashes at launch
  47290  Obduction: fails to render menu: now freezes instead of crashing
  47311  Heap debugging (WINEDEBUG=+heap) broken since wine-4.6-132-g948fc85186


Changes since 4.9:

Akihiro Sagawa (7):
      advapi32/tests: Add more RegLoadMUIString tests.
      advapi32: RegLoadMUIString doesn't accept a string without '@' prefix.
      advapi32: Expand environment variables even if REG_SZ type is used.
      advapi32: Fix the error code on parse failure.
      advapi32: Fix the error code on load failure.
      advapi32: Cache result of LoadString.
      quartz: Ensure error text is terminated with NUL character.

Alexandre Julliard (160):
      acledit: Build with msvcrt.
      aclui: Build with msvcrt.
      activeds: Build with msvcrt.
      actxprxy: Build with msvcrt.
      adsldp: Build with msvcrt.
      adsldpc: Build with msvcrt.
      advpack: Build with msvcrt.
      amsi: Build with msvcrt.
      apphelp: Build with msvcrt.
      atl: Build with msvcrt.
      atlthunk: Build with msvcrt.
      makefiles: Build fonts in quiet mode.
      makefiles: Default to ms_abi for 64-bit msvcrt builds.
      atmlib: Build with msvcrt.
      authz: Build with msvcrt.
      avifil32: Build with msvcrt.
      avifile: Build with msvcrt.
      avrt: Build with msvcrt.
      bluetoothapis: Build with msvcrt.
      browseui: Build with msvcrt.
      bthprops.cpl: Build with msvcrt.
      cards: Build with msvcrt.
      cdosys: Build with msvcrt.
      clusapi: Build with msvcrt.
      combase: Build with msvcrt.
      comcat: Build with msvcrt.
      include/msvcrt: Add snprintf() compatibility macro.
      include/msvcrt: Define more math functions.
      comctl32: Build with msvcrt.
      comdlg32: Build with msvcrt.
      commdlg: Build with msvcrt.
      compobj: Build with msvcrt.
      compstui: Build with msvcrt.
      comsvcs: Build with msvcrt.
      connect: Build with msvcrt.
      credui: Build with msvcrt.
      cryptdlg: Build with msvcrt.
      cryptdll: Build with msvcrt.
      cryptext: Build with msvcrt.
      cryptnet: Build with msvcrt.
      cryptui: Build with msvcrt.
      ctl3d: Build with msvcrt.
      ctl3d32: Build with msvcrt.
      ctl3dv2: Build with msvcrt.
      include/msvcrt: Add INFINITY and NAN definitions.
      include/msvcrt: Use setjmpex() instead of setjmp() on 64-bit.
      include: Make the Wine exception handlers cdecl.
      winecrt0: Make the main() and wmain() entry points cdecl.
      d2d1: Build with msvcrt.
      d3d10: Build with msvcrt.
      d3d10_1: Build with msvcrt.
      d3d10core: Build with msvcrt.
      d3dim: Build with msvcrt.
      d3drm: Build with msvcrt.
      d3dx10: Build with msvcrt.
      d3dx11: Build with msvcrt.
      d3dx9: Build with msvcrt.
      d3dxof: Build with msvcrt.
      davclnt: Build with msvcrt.
      dbgeng: Build with msvcrt.
      msvcrt/tests: Don't use win_skip for functions that are not exported on 64-bit.
      msi/tests: Don't skip a 64-bit test on Wine.
      mf/tests: Initialize variable to avoid spurious test failure.
      oleacc/tests: Preserve the full 64 bits of the LRESULT value.
      kernel32: Simplify K32GetPerformanceInfo().
      dciman32: Build with msvcrt.
      ddeml: Build with msvcrt.
      ddrawex: Build with msvcrt.
      devenum: Build with msvcrt.
      dhcpcsvc: Build with msvcrt.
      dhtmled.ocx: Build with msvcrt.
      difxapi: Build with msvcrt.
      dispdib: Build with msvcrt.
      dispex: Build with msvcrt.
      display.drv: Build with msvcrt.
      dmband: Build with msvcrt.
      dmcompos: Build with msvcrt.
      dmime: Build with msvcrt.
      ntdll: Fix off-by-one allocation error.
      dmloader: Build with msvcrt.
      dmscript: Build with msvcrt.
      dmstyle: Build with msvcrt.
      dmsynth: Build with msvcrt.
      dmusic: Build with msvcrt.
      dmusic32: Build with msvcrt.
      dplayx: Build with msvcrt.
      dpnet: Build with msvcrt.
      dpnhpast: Build with msvcrt.
      dpvoice: Build with msvcrt.
      dpwsockx: Build with msvcrt.
      drmclien: Build with msvcrt.
      dsound: Build with msvcrt.
      dsquery: Build with msvcrt.
      dssenh: Build with msvcrt.
      dswave: Build with msvcrt.
      dwmapi: Build with msvcrt.
      dx8vb: Build with msvcrt.
      dxdiagn: Build with msvcrt.
      dxva2: Build with msvcrt.
      esent: Build with msvcrt.
      explorerframe: Build with msvcrt.
      faultrep: Build with msvcrt.
      feclient: Build with msvcrt.
      fltlib: Build with msvcrt.
      fltmgr.sys: Build with msvcrt.
      fntcache: Build with msvcrt.
      fontsub: Build with msvcrt.
      fusion: Build with msvcrt.
      fwpuclnt: Build with msvcrt.
      configure: Use pkg-config to check for zlib.
      winebuild: Don't even try to resolve imports for PE builds.
      gameux: Build with msvcrt.
      gdiplus: Build with msvcrt.
      gpkcsp: Build with msvcrt.
      hal: Build with msvcrt.
      hhctrl.ocx: Build with msvcrt.
      hid: Build with msvcrt.
      hidclass.sys: Build with msvcrt.
      hlink: Build with msvcrt.
      hnetcfg: Build with msvcrt.
      httpapi: Build with msvcrt.
      iccvid: Build with msvcrt.
      ieframe: Build with msvcrt.
      ieproxy: Build with msvcrt.
      ifsmgr.vxd: Build with msvcrt.
      imaadp32.acm: Build with msvcrt.
      ntdll: Add a helper function to find a module from its dlopen handle.
      ntdll: Add a helper function to load a dll from a .so file.
      ntdll: Load the file we got when we can't locate the corresponding builtin.
      kernel32: Fix handling of LOAD_WITH_ALTERED_SEARCH_PATH when other search flags are specified.
      imagehlp: Build with msvcrt.
      imm32: Build with msvcrt.
      inetcomm: Build with msvcrt.
      inetcpl: Build with msvcrt.
      inetmib1: Build with msvcrt.
      infosoft: Build with msvcrt.
      initpki: Build with msvcrt.
      inkobj: Build with msvcrt.
      inseng: Build with msvcrt.
      itircl: Build with msvcrt.
      itss: Build with msvcrt.
      joy.cpl: Build with msvcrt.
      jscript: Build with msvcrt.
      jsproxy: Build with Windows sockets.
      jsproxy: Build with msvcrt.
      keyboard.drv: Build with msvcrt.
      ksecdd.sys: Build with msvcrt.
      ksuser: Build with msvcrt.
      ktmw32: Build with msvcrt.
      loadperf: Build with msvcrt.
      localspl: Build with msvcrt.
      localui: Build with msvcrt.
      lzexpand: Build with msvcrt.
      mapi32: Build with msvcrt.
      mapistub: Build with msvcrt.
      mciavi32: Build with msvcrt.
      mcicda: Build with msvcrt.
      mciqtz32: Build with msvcrt.
      mciseq: Build with msvcrt.
      mciwave: Build with msvcrt.

Alexey Prokhin (5):
      dinput: Return fake DIPROP_GUIDANDPATH property for linux joysticks.
      dinput: Return fake DIPROP_GUIDANDPATH property for linux input joysticks.
      dinput: Return fake DIPROP_GUIDANDPATH property for OSX joysticks.
      dinput/tests: Remove todo from DIPROP_GUIDANDPATH test.
      dinput/tests: Check path format of DIPROP_GUIDANDPATH property.

Alistair Leslie-Hughes (11):
      dinput/tests: Remove unrequired if (Coverity).
      amstream: Leave critical section on success (Coverity).
      bcrypt: Add BCryptDestroySecret/BCryptSecretAgreement stubs.
      bcrypt: Add BCryptDeriveKey stub.
      include: Add missing SYMOPT_* defines.
      dbghelp: Support S_HEAPALLOCSITE entry.
      dinput: Return correct value in IDirectInputDevice2 Release.
      dinput: Trace reference count in a consistent way.
      dbghelp: Add SymGetExtendedOption/SymSetExtendedOption stubs.
      dbghelp: SymSet/GetExtendedOption support a WINE only option.
      dbghelp: Use internal flag for loading native files.

Andrey Gusev (8):
      ext-ms-win-shell-comctl32-init-l1-1-0: Add dll.
      ext-ms-win-shell-comdlg32-l1-1-0: Add dll.
      ext-ms-win-shell-shell32-l1-2-0: Add dll.
      ext-ms-win-ntuser-windowclass-l1-1-0: Update spec file.
      webservices: Fix misplaced parenthesis.
      oledb32: Remove duplicate WINAPI.
      advapi32: Implement LookupAccountSidLocalA/W.
      quartz: Avoid cast for VMR9_ImagePresenter_QueryInterface.

André Hentschel (7):
      setupapi/tests: Don't test functions directly when reporting GetLastError().
      comctl32/tests: Don't test functions directly when reporting GetLastError().
      ntoskrnl.exe/tests: Don't test functions directly when reporting GetLastError().
      shcore: Fix IUnknown_AtomicRelease spec file entry.
      shlwapi: Fix some spec file entries.
      rpcrt4: Fix NdrServerContextMarshall spec file entry.
      mpr: Fix some spec file entries.

Aric Stewart (3):
      winemac.drv: Use NI_COMPOSITIONSTR/CPS_CANCEL when composition string is empty.
      mshtml: Handle NULL aNode in nsContextMenuListener_OnShowContextMenu.
      dinput: Handle case where IOHIDDeviceGetValue fails.

Daniel Lehman (1):
      advapi32: Implement EnumDynamicTimeZoneInformation.

Derek Lesho (1):
      ntoskrnl.exe: Implement KeAreApcsDisabled.

Dmitry Timoshkov (6):
      ieframe: Prefer built-in version.
      include/mshtml.idl: Add more interface declarations.
      mshtml: Add IMarkupServices interface stub.
      mshtml: Add IMarkupContainer interface stub.
      mshtml: Add IDisplayServices interface stub.
      mshtml.idl: Add forward declaration for IHTMLWindow flavours.

Gabriel Ivăncescu (5):
      winepulse.drv: Adjust the buffer volume before sending it to PulseAudio.
      winepulse.drv: Add support for A-law and u-law formats with volume changes.
      winealsa.drv: Adjust the buffer volume before sending it to ALSA.
      comctl32/listbox: Don't try to paint non-visible items for multi-column listboxes.
      user32/listbox: Don't try to paint non-visible items for multi-column listboxes.

Hans Leidekker (1):
      advapi32: Improve the SaferComputeTokenFromLevel stub.

Henri Verbeet (25):
      wined3d: Pass a wined3d_context_gl structure to context_generate_rt_mask_no_fbo().
      wined3d: Pass a wined3d_context_gl strcuture to find_draw_buffers_mask().
      wined3d: Pass a wined3d_context_gl structure to context_activate().
      wined3d: Move the WGL fields from struct wined3d_context to struct wined3d_context_gl.
      wined3d: Properly check whether a context was created in swapchain_init().
      wined3d: Pass a wined3d_context_gl structure to arbfp_blitter_upload_palette().
      wined3d: Pass a wined3d_context_gl structure to arbfp_blit_set().
      wined3d: Pass a wined3d_context_gl structure to create_dummy_textures().
      wined3d: Pass a wined3d_context_gl structure to glsl_blitter_upload_palette().
      wined3d: Use wined3d_texture_get_level_box() in wined3d_device_copy_resource().
      wined3d: Pass a wined3d_context_gl structure to shader_resource_view_gl_bind_and_dirtify().
      wined3d: Pass a wined3d_context_gl structure to context_active_texture().
      wined3d: Move the "active_texture" field from struct wined3d_context to struct wined3d_context_gl.
      wined3d: Move the blit dimension fields from struct wined3d_context to struct wined3d_context_gl.
      wined3d: Make the adapter responsible for acquiring and releasing contexts.
      wined3d: Move the material tracking fields from struct wined3d_context to struct wined3d_context_gl.
      wined3d: Move the "needs_set" field from struct wined3d_context to struct wined3d_context_gl.
      wined3d: Move the "valid" field from struct wined3d_context to struct wined3d_context_gl.
      wined3d: Pass a wined3d_context_gl structure to context_reacquire().
      wined3d: Create a blitter for the Vulkan adapter.
      wined3d: Move the "tid" field from struct wined3d_context to struct wined3d_context_gl.
      wined3d: Pass a wined3d_context_gl structure to context_bind_bo().
      wined3d: Pass a wined3d_context_gl structure to context_bind_dummy_textures().
      wined3d: Pass a wined3d_context_gl structure to context_copy_bo_address().
      wined3d: Upload texture data through the texture ops in wined3d_cs_exec_blt_sub_resource().

Huw D. M. Davies (2):
      msctfp: Define the correct PROXY_CLSID.
      kernel32: Move the implementation of GetTickCount() to kernel32.

Isira Seneviratne (2):
      po: Update Sinhala translation.
      po: Update Sinhala translation.

Jacek Caban (18):
      ntoskrnl.exe/tests: Always test DeviceIoControl result.
      ntoskrnl.exe: Pass context as a structure to IRP dispatchers.
      ntoskrnl.exe: Reuse IRP input buffer if it wasn't used.
      ntoskrnl.exe: Set irp context handle in dispatch_irp.
      wininet: Fix name and data allocation failure handling in alloc_cookie.
      server: Use stored current kernel call to interpret IRP dispatch status.
      server: Store IRP client pointer on server side.
      server: Remove IRP from device queue before terminating async.
      server: Notify kernel when IRP is terminated by server.
      ntoskrnl.exe: Cancel IRPs terminated by server.
      mshtml/tests: Fix tests on some recent IE versions.
      mshtml/tests: Include leading path slash in location test array.
      mshtml: Rewrite IHTMLLocation::get_pathname on top of IUri.
      ieframe: Keep Busy property in sync with download state.
      server: Use current thread for IRP calls without associated thread.
      ntoskrnl.exe: Dispatch server IRPs in critical region.
      server: Associate create and close IRPs with current thread.
      ntoskrnl.exe: Set IRP caller thread.

Jactry Zeng (2):
      riched20: Implement ITextRange::SetRange.
      msscript: Return S_OK in IScriptControl::put_SitehWnd().

Jeff Smith (1):
      d3drm: CreateDevice is unimplemented on Windows.

John Found (1):
      winex11.drv: Allow the drop target to be a transparent window.

Józef Kucia (2):
      ucrtbase: Implement _o__stricmp().
      dxgi: Improve tracing in dxgi_adapter_QueryVideoMemoryInfo().

Louis Lenders (1):
      gdiplus: Add version resource.

Lukáš Krejčí (1):
      mciqtz32: Don't overflow seek times during multiplication.

Manuel Edelmann (1):
      kernel32: Added stub for Set/GetProcessPreferredUILanguages.

Marcus Meissner (1):
      qcap: Release filter only if allocated.

Michael Stefaniuc (10):
      ntoskrnl: Add a macro to declare a static CRITICAL_SECTION.
      ole32/tests: Avoid a cast from COM object to interface.
      shell32: Don't cast from COM object to interface.
      winemac.drv: Avoid casts from COM objects to interfaces.
      mshtml: Use the standard field name for an inner IUnknown.
      urlmon: Use the standard field name for an inner IUnknown.
      mshtml: Print the debug strings and not the pointers to them.
      dbghelp: Fix the spelling of a parameter.
      winedbg: Fix the spelling of a comment.
      winedump: Fix the spelling of a string.

Mingcong Bai (1):
      po: Update Simplified Chinese translation.

Nikolay Sivov (23):
      mf: Implement type handler methods for sample grabber stream.
      kernelbase: Add remaining registry helpers from shlwapi.
      mf: Implement presentation clock methods for sample grabber.
      mf: Detach sink stream on sample grabber shutdown.
      mf: Maintain sample grabber sink state.
      mfplat: Add sample grabber attributes to debug tracing helper.
      mf: Implement ProcessSample() for unclocked mode.
      mf: Partially implement Shutdown() for media session.
      mf: Raise event on session close.
      mf: Get presentation clock flags from current time source.
      mf: Return presentation clock properties.
      mf: Forward GetTime() calls to time source.
      mf: Forward GetCorrelatedTime() to time source.
      comctl32/trackbar: Do not consider window size when initializing fixed length thumb.
      mf: Add rate support for presentation clock.
      mf/tests: Add some tests for video processor MFT.
      mf/tests: Add some more Video Processor tests.
      mf: Implement clock-synchronized mode for ProcessSample() in sample grabber sink.
      mf: Raise sample request events for sample grabber stream.
      mf: Add support for MEStreamSinkMarker event for sample grabber.
      mf: Implement stream flushing for sample grabber.
      mfplat: Make sure async event delivery is triggered with EndGetEvent().
      mfplat: Add MFRegisterLocalSchemeHandler().

Owen Rudge (2):
      oledb32: Implement support for converting to DBTYPE_I1.
      oledb32/tests: Add conversion tests to DBTYPE_I1.

Paul Gofman (8):
      wined3d: Scale transformed position in compute_light().
      ddraw: Support D3DVOP_LIGHT in d3d_vertex_buffer7_ProcessVertices().
      wined3d: Fix specular alpha value in process_vertices_stride().
      ddraw/tests: Test lighting with _ProcessVertices() for ddraw4.
      ddraw/tests: Test lighting with _ProcessVertices() for ddraw7.
      wined3d: Compute fog factor in process_vertices_strided().
      ddraw/tests: Add test for fog calculation in _ProcessVertices for ddraw7.
      ddraw/tests: Fix test failures in test_lighting() on some of WARP drivers for ddraw7.

Piotr Caban (6):
      ntoskrnl.exe: Add IoDetachDevice implementation.
      ntoskrnl.exe: Fix IoAttachDeviceToDeviceStack implementation.
      services: Don't double release process in service_start.
      msvcp: Add _Strxfrm implementation.
      msvcp: Fix _Lockit::_Lockit_ctor and _Lockit::_Lockit_dtor implementation.
      msvcp: Add _Init_locks class implementation.

Roberto Pungartnik (1):
      po: Update Brazilian Portuguese translation.

Rémi Bernon (3):
      xinput: Fix rumble amount value rounding.
      commdlg: Allocate memory using VirtualAlloc instead of NtAllocateVirtualMemory.
      kernel32/tests: Fix NtAllocateVirtualMemory tests results on w1064v1809.

Stefan Dösinger (1):
      include: Remove backslashes from D3D12_COLOR_WRITE_ENABLE_ALL.

Sven Baars (14):
      kernel32/tests: Open and close the right file handle (Coverity).
      d3dx9: Release the full parameter name when a parameter is released (Valgrind).
      d3dx9: Always free samplers (Valgrind).
      shell32: Fix a use after free (Coverity).
      ntdll/tests: Fix a string leak (Valgrind).
      shell32: Fix an item identifier list leak (Valgrind).
      shell32/tests: Fix a memory leak (Valgrind).
      propsys/tests: Fix the PropVariantToBuffer tests.
      propsys/tests: Fix some ok() messages.
      user32: Fix some leaks on error path (Coverity).
      msrle32: Fix a memory leak (Valgrind).
      msvfw32: Fix copying of a BITMAPINFO structure (Valgrind).
      mmdevapi/tests: Use PropVariantClear after calling IPropertyStore_GetValue (Valgrind).
      ole32: Add VT_ARRAY support to PropVariant.

Tim Schumacher (3):
      dbgstr: Initialize hex list using an explicit char array.
      dinput: Check for wheel axes/buttons when finding joysticks.
      dinput/linuxinput: Remap wheel axes to X, Y, and Z.

Zebediah Figura (87):
      setupapi: Add a basic implementation of SetupDiInstallDevice().
      setupapi: Copy the INF file to C:/windows/inf/ and record it in the driver key.
      setupapi: Process the .HW subsection in SetupDiInstallDevice().
      setupapi: Process the .Services subsection in SetupDiInstallDevice().
      quartz/vmr9: Implement IVMRWindowlessControl::SetVideoClippingWindow().
      strmbase/transform: Use BaseFilterImpl_Release().
      qcap/avico: Use BaseFilterImpl_Release().
      winegstreamer/gstdemux: Use BaseFilterImpl_Release().
      wineqtdecoder/qtsplitter: Use BaseFilterImpl_Release().
      setupapi/tests: Test calling SetupDiEnumDeviceInterfaces() with a NULL device.
      setupapi/tests: Add some tests for SetupDiGetClassDevs().
      setupapi: Treat DIGCF_ALLCLASSES as if a NULL device class was given.
      setupapi/tests: Add some tests for DIGCF_DEVICEINTERFACE.
      setupapi: Set the list device class to GUID_NULL when enumerating interfaces.
      setupapi/tests: Add some tests for SetupDiGetDeviceInfoListDetail().
      setupapi: Avoid adding duplicate devices in SetupDiGetClassDevs().
      strmbase/renderer: Add a destructor callback.
      quartz/dsoundrender: Use BaseFilterImpl_Release().
      quartz/parser: Get rid of the "fnCleanup" member of ParserImpl.
      quartz/parser: Pass a BaseFilterFuncTable to Parser_Create().
      quartz/avisplit: Use BaseFilterImpl_Release().
      quartz/mpegsplit: Use BaseFilterImpl_Release().
      quartz/waveparser: Use BaseFilterImpl_Release().
      quartz: Use strmbase filter methods directly.
      qcap/avimux: Use BaseFilterImpl_Release().
      qcap/avimux: Use strmbase filter methods directly.
      widl: Use IsSimpleRef only for explicitly declared arrays.
      widl: Also allocate top-level pointers to arrays as on-stack in -Oicf mode.
      widl: Remove an unused variable.
      widl: Write array pointers as FC_OP pointers if appropriate.
      widl: Non-top-level conformant arrays are always [ref] by default.
      include: Add newdev.h.
      newdev: Correct definition of DiInstallDriver().
      newdev: Implement UpdateDriverForPlugAndPlayDevices().
      quartz/tests: Add more tests for aggregation.
      qcap/audiorecord: Fix aggregation support.
      qcap/tests: Add more tests for aggregation.
      strmbase: Reimplement BaseFilterImpl_QueryInterface() using a callback.
      quartz/filesource: Use BaseFilterImpl_QueryInterface().
      winebus.sys: Use the winebus driver to create all devices.
      winebus.sys: Move udev configuration values to the winebus service key.
      winebus.sys: Avoid IoCreateDriver().
      quartz/mpegsplit: Use BaseFilterImpl_QueryInterface().
      qcap/avimux: Use BaseFilterImpl_QueryInterface().
      winegstreamer/gstdemux: Use BaseFilterImpl_QueryInterface().
      strmbase/renderer: Add a QueryInterface() callback.
      quartz/dsoundrender: Use BaseFilterImpl_QueryInterface().
      ntoskrnl.exe: Move PNP code to a separate file.
      qcap/avico: Use BaseFilterImpl_QueryInterface().
      strmbase: Support aggregation in the base filter.
      quartz/videorenderer: Use strmbase filter aggregation support.
      quartz/vmr9: Use strmbase filter aggregation support.
      qcap/audiorecord: Use strmbase filter aggregation support.
      ntoskrnl.exe: Fix handling of reference string in IoRegisterDeviceInterface().
      winebus.sys: Make the device and instance IDs consistent.
      winebus.sys: Just report the bus ID when enumerating compatible IDs.
      qcap/smartteefilter: Use strmbase filter aggregation support.
      qcap/vfwcapture: Use strmbase filter aggregation support.
      qedit/nullrenderer: Use strmbase filter aggregation support.
      qedit/samplegrabber: Use strmbase filter aggregation support.
      evr: Return E_NOINTERFACE when aggregation is requested with an interface other than IUnknown.
      evr: Use strmbase filter aggregation support.
      ntoskrnl.exe: Free device IDs from pool.
      winebus.sys: Allocate IRP return buffers from paged pool.
      hidclass.sys: Allocate IRP return buffers from paged pool.
      ntoskrnl.exe: Use SetupDiOpenDeviceInfo().
      ntoskrnl.exe: Correctly handle instance IDs.
      strmbase: Get rid of BaseRendererImpl_QueryInterface().
      strmbase: Support aggregation in the base transform filter.
      qedit/samplegrabber: Use BaseFilterImpl_FindPin().
      qcap/avico: Use BaseFilterImpl_QueryFilterInfo().
      qcap/avico: Use BaseFilterImpl_QueryVendorInfo().
      hidclass.sys: Use PDRIVER_ADD_DEVICE.
      hidclass.sys: Get rid of unused minidriver parameter to HID_DeleteDevice().
      ntoskrnl.exe: Dispatch user IRPs to the top of the device stack.
      ntoskrnl.exe: Send PnP IRPs to the top of the device stack.
      ntoskrnl.exe: Implement automatically generated device names.
      strmbase: Add a cached implementation of IDispatch and use it in IBasicVideo.
      strmbase: Use the type info cache for IVideoWindow.
      strmbase: Use the type info cache for IMediaPosition.
      quartz/dsoundrender: Use the type info cache for IBasicAudio.
      strmbase: Get rid of IBasicAudio implementation.
      strmbase: Get rid of base IDispatch implementation.
      winehid.inf: Add new INF file and copy it to the INF directory.
      ntoskrnl.exe: Use INF files to locate function drivers.
      wine.inf: Remove no longer used CriticalDeviceDatabase entries.
      wine.inf: Remove registration for the winehid service.

Zhiyi Zhang (8):
      gdi32/tests: Add D3DKMTCheckOcclusion tests.
      gdi32: Implement D3DKMTOpenAdapterFromGdiDisplayName.
      gdi32: Implement D3DKMTCloseAdapter.
      gdi32: Implement D3DKMTCreateDevice.
      gdi32: Implement D3DKMTDestroyDevice.
      user32/tests: Test restore window messages.
      winex11.drv: Activate window when restoring from iconic state.
      winemac.drv: Activate window when restoring from iconic state.

Zixing Liu (1):
      po: Update Simplified Chinese translation.

Alexandre Julliard
[email protected]