<div dir="auto"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat., 11 May 2019, 1:19 am Alexandre Julliard, <<a href="mailto:julliard@winehq.org">julliard@winehq.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The Wine development release 4.8 is now available.<br>
<br>
What's new in this release (see below for details):<br>
  - Support building most programs in PE format.<br>
  - Unicode data updated to Unicode 12.0.<br>
  - Support for MSI patch files.<br>
  - Default to non-PIC builds on i386.<br>
  - Joystick support improvements.<br>
  - Asturian locale.<br>
  - Various bug fixes.<br>
<br>
The source is available from the following locations:<br>
<br>
  <a href="https://dl.winehq.org/wine/source/4.x/wine-4.8.tar.xz" rel="noreferrer noreferrer" target="_blank">https://dl.winehq.org/wine/source/4.x/wine-4.8.tar.xz</a><br>
  <a href="http://mirrors.ibiblio.org/wine/source/4.x/wine-4.8.tar.xz" rel="noreferrer noreferrer" target="_blank">http://mirrors.ibiblio.org/wine/source/4.x/wine-4.8.tar.xz</a><br>
<br>
Binary packages for various distributions will be available from:<br>
<br>
  <a href="https://www.winehq.org/download" rel="noreferrer noreferrer" target="_blank">https://www.winehq.org/download</a><br>
<br>
You will find documentation on <a href="https://www.winehq.org/documentation" rel="noreferrer noreferrer" target="_blank">https://www.winehq.org/documentation</a><br>
<br>
You can also get the current source directly from the git<br>
repository. Check <a href="https://www.winehq.org/git" rel="noreferrer noreferrer" target="_blank">https://www.winehq.org/git</a> for details.<br>
<br>
Wine is available thanks to the work of many people. See the file<br>
AUTHORS in the distribution for the complete list.<br>
<br>
----------------------------------------------------------------<br>
<br>
Bugs fixed in 4.8 (total 38):<br>
<br>
  12332  Microsoft Windows Server 2003 DDK SP1 installer crashes ('setupapi.SetupCloseFileQueue' should do proper handle validation before accessing members)<br>
  14695  Lifeforce demo misses codecs (msvideo1 needs to support 24 bpp output)<br>
  28196  Test Drive Unlimited: Water is always rendered on top of everything.<br>
  28254  Multiple kernel drivers crash during load/relocation (relocation entry crosses page boundary)(PMP Exam Version 7 CrypKey, Age of Wushu SDProtect DRM, StarForce v3)<br>
  29460  Multiple kernel drivers crash in entry due to ntoskrnl.exe IoGetCurrentProcess() being a stub (Ruijie Supplicant Su1xDriver.sys, nProtect GameGuard/Tachyon Kernel Control Driver)<br>
  31101  ScoobyRom v0.6.x-0.8.x (.NET 4.0 app) fails to start with Wine-Mono<br>
  31350  Multiple .NET 3.x WPF applications crash in Vista/Win7 mode due to dwmapi.DwmGetTransportAttributes stub returning E_NOTIMPL (T-Online Mediencenter Assistent, Valil.Chess, Zwift 1.0)<br>
  34372  Multiple applications need AllocateAndGetTcpExTableFromStack (cross compiled dbus, spamMonitor)<br>
  37359  planetside 2  no mouseclicks registered<br>
  37540  Multiple games and applications wrapped with Enigma v4 and GG DRM schemes crash on startup (incompatible with use of position independent code (PIC) in Wine dlls)<br>
  38423  Python 3.5.x exe installer fails with Access denied error<br>
  39614  Wine initialises a Critical Section for Mutexes by NULL instead of (void*)-1<br>
  42420  MidiIllustrator Virtuoso 3 crashes when using any File open dialog<br>
  44850  Microsoft Skype 8.x crashes on unimplemented function iphlpapi.dll.GetBestRoute2<br>
  45155  OpenGL Window Z order in Truespace<br>
  45213  Multiple applications using Microsoft Detours library crash on startup after compiling Wine with GCC 8.x+ and -O2 (GOT/PIC code emitted at Win32 API entries)(Microsoft Visual Studio 201x, Visual Assist plugin)<br>
  45757  Visual Studio 2017 Installer - "The installer manifest failed signature validation"<br>
  45765  Universe Sandbox 2 unimplemented function USER32.dll.GetPointerType<br>
  45947  Native Access crashes on unimplemented function virtdisk.dll.OpenVirtualDisk<br>
  46861  TopoEdit crashes with unimplemented function mf.dll.MFEnumDeviceSources<br>
  46905  Multiple eventlog monitor applications go haywire (endless console spam, live-loop CPU) due to advapi32.ReadEventLogA/W returning lasterror ERROR_CALL_NOT_IMPLEMENTED<br>
  46989  Grand Prix Legends: Wheel (Wheel, Gas, Brake) axes inputs aren't recognized<br>
  46993  ntoskrnl.exe tests don't compile when using -O0<br>
  47016  MS Office 365 installer needs mfplay.dll.MFPCreateMediaPlayer<br>
  47023  Warframe in-game screenshot fails if screenshot directory already exists<br>
  47027  Wine built with GCC 8.x+ and -O2 causes apps and games using madCodeHook/madExcept 3.x/4.x to crash (hook engine can't cope with GOT/ PIC code emitted within 15-byte range at Win32 API entries)(EA Origin, HeidiSQL 10.x)<br>
  47032  valgrind shows uninitialized read in writev from call_req_handler<br>
  47082  NI System Web Server crashes on unimplemented function authz.dll.AuthzFreeResourceManager<br>
  47096  World of Warships 0.8.3.x client (DirectX 11) crashes when post-battle results screen is about to be displayed<br>
  47097  Wine built with GCC 8.x+ and -O2 causes Steam games using In-Game Overlay 'gameoverlayrenderer.dll' to crash (hook engine can't cope with GOT/PIC code emitted at Win32 API entries)<br>
  47107  Windows XP DDK installer fails to copy any files<br>
  47122  Star Citizen stopped working on commit 32d7838da73dd9bc3ee999d73a310da7adfb27dd<br>
  47123  Starcitizen - joystick not recognized<br>
  47129  Rendering glitch in Caste Siege/Ballerburg (invalid vertex count in IDirect3DDevice3::DrawIndexedPrimitiveVB)<br>
  47131  Esportal client 1.0 (CS:GO anti-cheat) fails to start, reporting 'The procedure entry point InitiateShutdownW could not be located in the dynamic link library ADVAPI32.dll'<br>
  47138  Microsoft .NET Framework 2.x installer fails ('RegSvcs.exe' bootstrapper needs unicode casing tables, 'l_intl.nls' no longer installed in WINEPREFIX)<br>
  47142  Esportal client 1.0 (CS:GO anti-cheat) fails to start, reporting 'The procedure entry point NdrServerCallAll could not be located in the dynamic link library RPCRT4.dll'<br>
  47145  Esportal client 1.0 (CS:GO anti-cheat) fails to start, reporting 'The procedure entry point K32GetWsChangesEx could not be located in the dynamic link library KERNEL32.dll'<br>
<br>
----------------------------------------------------------------<br>
<br>
Changes since 4.7:<br>
<br>
Alexandre Julliard (85):<br>
      attrib: Build with msvcrt.<br>
      cabarc: Build with msvcrt.<br>
      clock: Build with msvcrt.<br>
      control: Build with msvcrt.<br>
      dxdiag: Build with msvcrt.<br>
      eject: Build with msvcrt.<br>
      expand: Build with msvcrt.<br>
      extrac32: Build with msvcrt.<br>
      hh: Build with msvcrt.<br>
      hostname: Build with msvcrt.<br>
      icinfo: Build with msvcrt.<br>
      iexplore: Build with msvcrt.<br>
      ipconfig: Build with msvcrt.<br>
      msidb: Build with msvcrt.<br>
      msiexec: Build with msvcrt.<br>
      net: Build with msvcrt.<br>
      netstat: Build with msvcrt.<br>
      oleview: Build with msvcrt.<br>
      progman: Build with msvcrt.<br>
      regsvr32: Build with msvcrt.<br>
      ntdll: Check for time conversion error to silence a compiler warning.<br>
      makefiles: Also pass -fPIC flag when linking.<br>
      rpcss: Build with msvcrt.<br>
      rundll32: Build with msvcrt.<br>
      sc: Build with msvcrt.<br>
      schtasks: Build with msvcrt.<br>
      services: Build with msvcrt.<br>
      start: Build with msvcrt.<br>
      svchost: Build with msvcrt.<br>
      taskkill: Build with msvcrt.<br>
      uninstaller: Build with msvcrt.<br>
      view: Build with msvcrt.<br>
      makefiles: Don't use custom LDFLAGS to link dlls.<br>
      configure: Disable stdcall fixups for PE builds.<br>
      include: Add DECLSPEC_IMPORT on OpenGL functions when not building opengl32.<br>
      crypt32: Fix comparison of domain name components.<br>
      winedevice: Build with msvcrt.<br>
      winemine: Build with msvcrt.<br>
      winemsibuilder: Build with msvcrt.<br>
      winetest: Build with msvcrt.<br>
      winhlp32: Build with msvcrt.<br>
      wmic: Build with msvcrt.<br>
      write: Build with msvcrt.<br>
      wscript: Build with msvcrt.<br>
      ping: Avoid using getopt().<br>
      ping: Build with msvcrt.<br>
      winefile: Get rid of the Unix filesystem support.<br>
      winefile: Build with msvcrt.<br>
      include: Use DECLSPEC_HIDDEN instead of DECLSPEC_IMPORT for dll exports.<br>
      include: Move DECLSPEC_HOTPATCH definition out of config.h.<br>
      makefiles: Support delay imports for PE builds.<br>
      makefiles: Use a separate LDFLAGS variable for cross-compilation.<br>
      makefiles: Only cross-compile the import libraries that are actually used.<br>
      makefiles: Only cross-compile the static libraries that are actually used.<br>
      dxerr8: Don't use snprintf().<br>
      dxerr9: Don't use snprintf().<br>
      strmbase: Avoid using wine/unicode.h.<br>
      cmd: Build with msvcrt.<br>
      explorer: Move screen saver activation to the X11 driver.<br>
      explorer: Build with msvcrt.<br>
      cmd: Explicitly mark qsort() callback funtions cdecl.<br>
      services: Explicitly mark a qsort() callback funtion cdecl.<br>
      uninstaller: Explicitly mark a qsort() callback funtion cdecl.<br>
      winefile: Explicitly mark qsort() callback funtions cdecl.<br>
      winhttp/tests: Get a test file from the WineHQ tests subdirectory.<br>
      include/msvcrt: Add inttypes.h header.<br>
      advapi32: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      atl: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      fusion: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      kernel32: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      kernelbase: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      mountmgr.sys: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      mshtml: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      msi: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      kernel32: Reset stdio file descriptors when passed invalid handles.<br>
      ntdll: Reset stdio file descriptors when passed invalid handles.<br>
      netapi32: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      ntdll: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      pdh: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      qmgr: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      shlwapi: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      urlmon: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      userenv: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      wbemprox: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
      webservices: Use strncmpiW instead of memicmpW for strings without embedded nulls.<br>
<br>
Alistair Leslie-Hughes (12):<br>
      wintab32/tests: Improve WTInfoA tests.<br>
      authz: Add AuthzFreeResourceManager stub.<br>
      dinput: Don't return unsupported interfaces.<br>
      dinput: Return E_NOINTERFACE from IDirectInputDevice2 QueryInterface.<br>
      dinput: Don't report that we cannot open a device.<br>
      dinput: Improve EnumDevice tracing.<br>
      dinput: Support DIDEVICEINSTANCE_DX3 for Mouse GetDeviceInfo.<br>
      dinput: Use a helper function to get device type.<br>
      dinput: Trace This pointer in a consistent way.<br>
      dinput: Ensure Cursor is visible on config dialog.<br>
      mspatcha/tests: Fix compile error on older compilers.<br>
      mspatcha/tests: Make functions static.<br>
<br>
Andrew Eikum (11):<br>
      winebus.sys: Fix some report descriptors.<br>
      winebus.sys: Fix udev report descriptor length.<br>
      winebus.sys: Remove some magic numbers.<br>
      winebus.sys: Fix ball value reporting.<br>
      hid: Shift usage values to LSB.<br>
      dinput: Use heuristics to guess if a device is a gamepad or a joystick.<br>
      winebus.sys: Order axes before buttons.<br>
      winebus.sys: Report hatswitch values correctly.<br>
      winebus.sys: Report SDL controller dpad as hatswitch.<br>
      winebus.sys: Report SDL controller buttons in the right order.<br>
      winebus.sys: Pack hatswitch values into button bytes.<br>
<br>
Aric Stewart (2):<br>
      winemac.drv: Set done if macdrv_process_text_input is not processing input.<br>
      winemac.drv: Allow mac IME to clear text in system input method.<br>
<br>
Austin English (2):<br>
      iphlpapi: Add GetBestRoute2 stub.<br>
      advapi32: In ReadEventLogA/W, return ERROR_HANDLE_EOF instead of ERROR_CALL_NOT_IMPLEMENTED.<br>
<br>
Bryon Roche (1):<br>
      windowscodecs: Byte swap png read/write for 16-bpp data.<br>
<br>
Conor McCarthy (4):<br>
      mspatcha: Add functions to API header file.<br>
      mspatcha: Partially implement ApplyPatchToFileW and related functions.<br>
      mspatcha/tests: Test implementations of ApplyPatchToFileW and related functions.<br>
      mspatcha: Add stubs for signature and normalization functions.<br>
<br>
Damjan Jovanovic (1):<br>
      qcap/vfwcapture: Implement IPin::CheckMediaType().<br>
<br>
Derek Lesho (2):<br>
      ntoskrnl.exe: Export and set PsInitialSystemProcess.<br>
      ntoskrnl.exe: Implement PsIsSystemThread.<br>
<br>
Dmitry Timoshkov (2):<br>
      crypt32: CryptMsgUpdate should skip broken certificates.<br>
      mshtml: Implement HTMLStyleSheetRulesCollection::item.<br>
<br>
Enol Puente (4):<br>
      wrc: Add Asturian locale.<br>
      wmc: Support Asturian.<br>
      kernel32: Add Asturian locale.<br>
      po: Add Asturian translation.<br>
<br>
Erich Hoover (2):<br>
      iphlpapi: Implement AllocateAndGetTcpExTableFromStack.<br>
      kernel32: Add SearchPath test demonstrating the priority of the working directory.<br>
<br>
François Gouget (4):<br>
      ntoskrnl.exe: Make run_work_item_worker() static.<br>
      user32: Make WIN_SetOwner() static.<br>
      kernel32/tests: Use ok_() so the TestBot can correctly detect the line.<br>
      jscript: Make the Enumerator_props functions static.<br>
<br>
Henri Verbeet (37):<br>
      wined3d: Introduce a debug helper for Vulkan return values.<br>
      wined3d: Use shader_glsl_append_imm_vec4() in shader_glsl_get_register_name().<br>
      wined3d: Get rid of the redundant "device" parameter to context_destroy().<br>
      wined3d: Introduce a separate structure for OpenGL context information.<br>
      wined3d: Introduce wined3d_context_init().<br>
      wined3d: Simplify wined3d_context_destroy().<br>
      wined3d: Rename context_destroy_gl_resources() to wined3d_context_cleanup().<br>
      wined3d: Free the "texture_type" array in wined3d_context_cleanup().<br>
      wined3d: Introduce wined3d_context_gl_destroy().<br>
      wined3d: Free shader backend and fragment pipe context data in device_context_remove().<br>
      wined3d: Allocate shader backend and fragment pipe context data in device_context_add().<br>
      wined3d: Get rid of the "target" parameter to context_create().<br>
      wined3d: Get rid of the "target" parameter to wined3d_context_init().<br>
      wined3d: Get rid of the "target" parameter to wined3d_adapter_gl_create_context().<br>
      wined3d: Get rid of context_validate_onscreen_formats().<br>
      winex11: Only handle errors from GLX requests in GLXErrorHandler().<br>
      wined3d: Query Vulkan GPU memory.<br>
      wined3d: Get rid of a redundant initialisation in wined3d_device_set_implicit_swapchain().<br>
      wined3d: Share more swapchain setup with the "no3d" adapter in wined3d_device_set_implicit_swapchain().<br>
      wined3d: Determine the ORM_BACKBUFFER depth/stencil format in wined3d_adapter_gl_create_context().<br>
      wined3d: Make the adapter responsible for context destruction and allocation.<br>
      wined3d: Pass a wined3d_context_gl structure to context_bind_texture().<br>
      wined3d: Move the "texture_type" field from struct wined3d_context to struct wined3d_context_gl.<br>
      wined3d: Move the "dummy_arbfp_prog" field from struct wined3d_context to struct wined3d_context_gl.<br>
      wined3d: Store the glEnableWINE and glDisableWINE pointers in the wined3d_gl_info structure.<br>
      wined3d: Move the extension emulation fields from struct wined3d_context to struct wined3d_context_gl.<br>
      wined3d: Pass a wined3d_context_gl structure to context_load_tex_coords().<br>
      wined3d: Pass a wined3d_context_gl structure to context_get_tex_unit_mapping().<br>
      wined3d: Pass a wined3d_context_gl structure to context_bind_shader_resources().<br>
      wined3d: Pass a wined3d_context_gl structure to context_apply_blit_state().<br>
      wined3d: Pass a wined3d_context_gl structure to context_apply_ffp_blit_state().<br>
      wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_bind_and_dirtify().<br>
      wined3d: Pass a wined3d_context_gl structure to context_map_stage().<br>
      wined3d: Pass a wined3d_context_gl structure to context_map_fixed_function_samplers().<br>
      wined3d: Pass a wined3d_context_gl structure to context_map_psamplers().<br>
      wined3d: Pass a wined3d_context_gl structure to context_map_vsamplers().<br>
      wined3d: Pass a wined3d_context_gl structure to context_unit_free_for_vs().<br>
<br>
Jacek Caban (26):<br>
      ntoskrnl.exe: Implement IoGetCurrentProcess.<br>
      ntoskrnl.exe: Implement PsGetProcessId.<br>
      ntoskrnl.exe: Implement PsGetThreadId.<br>
      ntoskrnl.exe: Implement ObOpenObjectByPointer.<br>
      ntoskrnl.exe: Use ObOpenObjectByPointer to get handle for kernel object.<br>
      ntoskrnl.exe: Support SL_INVOKE_ON_CANCEL in IoCompleteRequest.<br>
      ntoskrnl.exe: Support NULL offset in IoBuildSynchronousFsdRequest.<br>
      ntoskrnl.exe: Use ObGetObjectType in kernel_object_from_handle.<br>
      ntoskrnl.exe: Implement IoAllocateWorkItem and IoFreeWorkItem.<br>
      ntoskrnl.exe: Implement IoQueueWorkItem.<br>
      ntoskrnl.exe: Add work item tests.<br>
      ntoskrnl.exe: Implement IoBuildAsynchronousFsdRequest.<br>
      ntoskrnl.exe/tests: Add IoCallDriver tests.<br>
      ntoskrnl.exe: Implement IoCancelIrp.<br>
      ntoskrnl.exe/tests: Add CancelIo tests.<br>
      ntoskrnl.exe: Set IRP DeviceObject in IoCallDriver.<br>
      ntoskrnl.exe: Support UserEvent in IoCompleteRequest.<br>
      server: Pass IRP output size in irp_params_t.<br>
      server: Don't use IRP_MJ_* constants for ntoskrnl.exe communication.<br>
      server: Store currently executed IRP call on server side.<br>
      server: Pass file object handle in IRP_CALL_CREATE request.<br>
      ntoskrnl.exe: Associate file object with server object before calling IRP routine.<br>
      ntoskrnl.exe: Don't keep reference to driver created file objects on client side.<br>
      ntoskrnl.exe/tests: Add more overlapped tests.<br>
      hidclass.sys: Make read IRP queue thread safe.<br>
      hidclass.sys: Support canceling read IRPs.<br>
<br>
Jactry Zeng (2):<br>
      kernel32/tests: Avoid a crash on WinXP and Win2K.<br>
      d3dcompiler: Implement D3DReadFileToBlob().<br>
<br>
Jefferson Carpenter (1):<br>
      server: Add __pad member to pe_image_info_t and zero it.<br>
<br>
Julian Rüger (1):<br>
      po: Update German translation.<br>
<br>
Józef Kucia (20):<br>
      wined3d: Implement GPU description registry override for Vulkan adapter.<br>
      wined3d: Factor out wined3d_copy_name().<br>
      wined3d: Make wined3d_gpu_description from Vulkan physical device properties.<br>
      wined3d: Assign *device in adapter_vk_create_device().<br>
      dxgi: Avoid magic constants.<br>
      d3d11: Set more format support flags.<br>
      dxgi: Factor out d3d12_swapchain_record_swapchain_blit().<br>
      dxgi: Make Vulkan swapchain image count independent of DXGI buffer count.<br>
      dxgi: Add some asserts for Vulkan swapchains.<br>
      dxgi: Acquire Vulkan image just before present when we have user images.<br>
      d3d11: Implement ID3D11Multithread.<br>
      d3d11/tests: Add test for creating deferred contexts.<br>
      d3d11/tests: Add test for ID3D11Multithread.<br>
      d3d10core/tests: Add test for ID3D11Multithread.<br>
      wined3d: Query Vulkan shared system memory.<br>
      wined3d: Store texture swizzle capability in struct wined3d_d3d_info.<br>
      d3d11: Report format support more accurately based on feature level.<br>
      wined3d: Make the adapter responsible for initialising and de-initialising 3D.<br>
      wined3d: Propagate HRESULTs in context creation functions.<br>
      wined3d: Fix wined3d_get_wine_vk_version().<br>
<br>
Louis Lenders (5):<br>
      user32: Added GetPointerType stub.<br>
      dwmapi: Return DWM_E_COMPOSITIONDISABLED instead of E_NOTIMPL in DwmGetTransportAttributes.<br>
      advapi32: Add InitiateShutdown{A,W} stub.<br>
      rpcrt4: Add NdrServerCallAll stub.<br>
      kernel32: Add K32GetWsChangesEx stub.<br>
<br>
Martin Storsjo (2):<br>
      avicap32: Fix compilation with older videodev2.h.<br>
      qcap: Fix compilation with older videodev2.h.<br>
<br>
Michael Müller (3):<br>
      version: Correctly return VFF_CURNEDEST in VerFindFileA.<br>
      include: Add dxva.h header file.<br>
      avifil32: Correctly handle compressed frames when desired format is specified.<br>
<br>
Michael Stefaniuc (7):<br>
      ntdll/tests: Avoid the comma operator.<br>
      ntoskrnl.exe: Correctly initialize two CRITICAL_SECTION_DEBUGs.<br>
      wintrust: Use the ARRAY_SIZE() macro.<br>
      mscoree: Remove a redundant NULL check before heap_free().<br>
      riched32/tests: Test the correct return value.<br>
      mfplat/tests: Remove a duplicated ok() check.<br>
      rpcrt4: Use CONTAINING_RECORD instead of an extra macro.<br>
<br>
Nikolay Sivov (32):<br>
      tools: Update to Unicode 12.0.<br>
      mfplat: Improve thread safety for IStream-based stream.<br>
      mfplat: Improve method traces.<br>
      mfreadwrite: Return sample timestamp from ReadSample().<br>
      mf: Add stub scheme handler for local file urls.<br>
      ntdll: Account for null terminating char in unload traces (Coverity).<br>
      mfreadwrite: Wake waiting threads on stream states changes.<br>
      ntdll: Initialize critical section debug info with correct pointer value.<br>
      mfplat: Copy attributes when cloning presentation descriptor.<br>
      mfplat: Add more attribute guids.<br>
      mf: Add MFEnumDeviceSources() stub.<br>
      dbgeng/tests: Fix event handle leak (Coverity).<br>
      mfplat: Implement async file stream creation API.<br>
      mf: Register file: scheme handler.<br>
      mfplat: Use file url scheme as a fallback.<br>
      mfplat/tests: Add some tests for calling scheme handler directly.<br>
      mf: Implement file scheme handler.<br>
      wmvcore: Return success from OpenStream().<br>
      mf: Add a stub for sample grabber activation object.<br>
      mfplat: Add topology attributes guids.<br>
      mf: Implement SetObject()/GetObject() for topology node.<br>
      mfplat: Improve SetGUID() traces.<br>
      mfplat: Implement Read() for file-based stream.<br>
      mfplat: Implement IsEndOfStream() for file stream.<br>
      mfplat: Write attribute store when registering MFT.<br>
      mfplat: Write flags when registering MFT.<br>
      mf: Set preferred media types for nodes.<br>
      mf: Implement CloneFrom() for nodes.<br>
      mf: Implement node connections.<br>
      mf: Rework node collection implementation.<br>
      mf: Disconnect removed nodes.<br>
      mf: Add IMFGetService stub for media session.<br>
<br>
Paul Gofman (3):<br>
      wined3d: Check if destination texture is FBO attachable in glsl_blitter_supported().<br>
      ddraw: Fix vertex count in d3d_device3_DrawIndexedPrimitiveVB().<br>
      wined3d: Apply stencil mask to stencil reference value.<br>
<br>
Piotr Caban (9):<br>
      winebus.sys: Add more traces on hidraw communication errors.<br>
      hid: Add HidP_SetUsages implementation.<br>
      hid: Add support for ranges in find_value.<br>
      hid: Only set first usage in an array in HidP_SetUsageValue.<br>
      hidclass.sys: Set LinkCollection field in build_elements function.<br>
      hidclass.sys: Set LinkUsagePage field in build_elements function.<br>
      hidclass.sys: Set LinkUsage field in build_elements function.<br>
      hidclass.sys: Treat all one-bit fields as buttons.<br>
      hidclass.sys: Fill some reserved fields when building HIDP_{BUTTON,VALUE}_CAPS.<br>
<br>
Qian Hong (1):<br>
      server: Create primary group using DOMAIN_GROUP_RID_USERS.<br>
<br>
Rafał Harabień (1):<br>
      ntoskrnl.exe: Fix handling relocations on page boundary.<br>
<br>
Tim Schumacher (2):<br>
      winejoystick: Add support for wheel axes.<br>
      dinput: Map wheel, gas, and brake axes as well.<br>
<br>
Vijay Kiran Kamuju (4):<br>
      virtdisk: Add stub and tests for OpenVirtualDisk.<br>
      include: Add missing defines, enums and functions for dwmapi.h.<br>
      wpcap: Fix compile warnings for redefinition of PCAP_OPENFLAG_PROMISCUOUS.<br>
      include: Add missing navigation and gamepad key definitions in winuser.rh.<br>
<br>
Vincent Povirk (2):<br>
      mscoree: Accept old framework build in exe metadata.<br>
      windowscodecs: Treat 16-bit channels as little endian.<br>
<br>
Zebediah Figura (30):<br>
      quartz: Convert media type registration to IRegistrar mechanism.<br>
      quartz: Avoid importing shlwapi.<br>
      evr/tests: Rewrite test_evr_filter_aggregation().<br>
      evr/tests: Add tests for filter interfaces.<br>
      winegcc: Add support for -fno-PIC.<br>
      makefiles: Build with -fno-PIC on i386.<br>
      setupapi: Extract individual files from cabinets.<br>
      setupapi/tests: Avoid assert().<br>
      setupapi/tests: Add some tests for SetupInstallFilesFromInfSection().<br>
      setupapi: Avoid passing a NULL source root path to SetupQueueDefaultCopy() and SetupQueueCopySection().<br>
      setupapi: Fill out all source file parameters in SetupQueueCopySection().<br>
      setupapi: Fill out all source file parameters in SetupQueueDefaultCopy().<br>
      setupapi: Implement SetupQueueCopyIndirectA() on top of the W variant.<br>
      setupapi: Remove implementation for LayoutInf parameter of SP_FILE_COPY_PARAMS.<br>
      setupapi: Separate the entire copy operation into a helper function.<br>
      setupapi: Keep track of source media in a separate list.<br>
      setupapi: Implement SetupDefaultQueueCallback(SPFILENOTIFY_NEEDMEDIA).<br>
      setupapi: Implement W -> A mapping of SPFILENOTIFY_NEEDMEDIA.<br>
      setupapi: Properly null-terminate the path in concat_W().<br>
      setupapi: Use the source file name if the destination file name is NULL.<br>
      setupapi: Implement source media path resolution.<br>
      setupapi/tests: Add tests for source media path resolution.<br>
      setupapi: Add magic bytes to struct file_queue and validate them in SetupCloseFileQueue().<br>
      ntoskrnl.exe/tests: Use coarser waits for timer tests.<br>
      ntoskrnl.exe/tests: Avoid linking directly to CancelIoEx().<br>
      msi: Remove registration for no longer used WineMsiRemoteCustomAction coclass.<br>
      setupapi: Avoid passing a NULL source filename to SetupQueueDefaultCopy().<br>
      strmbase: Move some internal definitions to strmbase_private.h.<br>
      strmbase: Move "AttemptConnection" to the base source pin function table.<br>
      strmbase: Get rid of the "pfnGetMediaTypeVersion" callback.<br>
<br>
Zhiyi Zhang (1):<br>
      include: Add more kernel mode graphics driver definitions.<br>
<br>
--<br>
Alexandre Julliard<br>
<a href="mailto:julliard@winehq.org" target="_blank" rel="noreferrer">julliard@winehq.org</a><br>
<br>
</blockquote></div>