The Wine development release 4.14 is now available.
What's new in this release (see below for details): - New version of the Mono engine with upstream updates. - PE dlls no longer rely on the MinGW runtime. - Exception handling fixes on ARM64. - Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.14.tar.xz http://mirrors.ibiblio.org/wine/source/4.x/wine-4.14.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git repository. Check https://www.winehq.org/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 4.14 (total 18):
34749 Eleusis Demo needs native dotnet40 39129 Cygwin's dash.exe crashes during installation 45449 Add diagnostic 'mscoree.dll.CorGetSvc' stub (NGEN client) to hint at broken Microsoft .NET Frameworks installation (Wine-Mono not uninstalled and/or 'mscoree.dll' placeholders not removed prior install) 46195 Multiple Windows 10 ARM64 apps need ntdll 'set_cpu_context' implementation (Windows PowerShell Core 6.2) 47074 World War Z crashes after intro logos due to unimplemented D3DKMTQueryStatistics 47514 AviUtl: Can't add a file to the ExEdit dialog after the first drop. 47546 Touhou 14-17 experience Spell Name and Music Room text issues starting in Wine 4.1 47561 Crash starting Rak24u Program 47564 Database mistmatch on brazillian timezone (America/Sao_Paulo) 47578 Omni-NFS 4.13's XLPD Server crashes on unimplemented function ntoskrnl.exe.MmIsThisAnNtAsSystem 47586 The Sims 1 visually freezes after alt-tabbing when in fullscreen mode 47594 Star Control Origins: very slow on new game. (a few minutes per frame) 47601 Process Hacker calls unimplemented ntoskrnl.exe functions SePrivilegeCheck and SeLocateProcessImageName 47605 Star citizen needs api-ms-win-crt-private-l1-1-0.dll._o_getenv 47611 LizardSystems Wi-Fi Scanner needs wlanui.dll to start 47612 LizardSystems Terminal Services Manager needs Ex functions from wtsapi32.dll 47616 LizardSystems Terminal Services Manager needs utildll.dll to start 47622 Wine 4.13 doesn't start Adobe Digital Editions 2 - works with 4.12.1
----------------------------------------------------------------
Changes since 4.13:
Akihiro Sagawa (2): shell32/tests: Add DragQueryPoint tests. shell32: Fix return value for DragQueryPoint.
Alex Henrie (12): ntoskrnl: Add MmIsThisAnNtAsSystem(). ntoskrnl: Add stub for SePrivilegeCheck. ntoskrnl: Add stub for SeLocateProcessImageName. kernel32: Silence FIXME about FIND_FIRST_EX_LARGE_FETCH. wtsapi32: Add stubs for WTSEnumerateProcessesEx[AW]. include: Add WTS_SESSION_INFO_1[AW]. wtsapi32: Add stubs for WTSEnumerateSessionsEx[AW]. wtsapi32: Add stubs for WTSOpenServerEx[AW]. include: Add WTS_TYPE_CLASS. wtsapi32: Implement WTSFreeMemoryEx[AW]. wlanui: Add DLL. utildll: Add DLL.
Alexandre Julliard (23): makefiles: Default to an msvcrt build for static libraries. wpcap: Avoid deprecated pcap_lookupdev(). ntdll: Reimplement thread initialization in assembler on ARM64. ntdll: Silence FIXME for LdrResolveDelayLoadedAPI(). kernel32: Reimplement fiber switching in assembly. kernel32: Move thread functions to kernelbase. kernel32: Move thread pool functions to kernelbase. kernel32: Move fiber functions to kernelbase. kernel32: Move more thread functions to kernelbase. kernel32: Move some process functions to kernelbase. kernel32: Move process/thread attribute list functions to kernelbase. kernel32: Move file handle functions to kernelbase. kernel32: Move some file name functions to kernelbase. kernel32: Move some module functions to kernelbase. kernel32: Move some directory functions to kernelbase. ntdll: Add support for saving/restoring FPU state on ARM64. ntdll: Use the exception fault code to detect write access on ARM64. ntdll: Preserve the stack red zone on ARM64. ntdll: Save the context from the caller stack frame in RtlCaptureContext() on ARM64. ntdll: Implement setting the thread context on ARM64. ntdll: Don't run exception handlers on the signal stack on ARM64. ntdll: Fix support for breakpoint exceptions on ARM64. wineboot: Only use cpuid on platforms where it makes sense.
Alexey Prokhin (1): xinput: Fix vibration capabilities.
Alistair Leslie-Hughes (5): include: Define ADDRINFOT explicitly. include: Add IDebugClient2-7 interfaces. include: Complete dbgeng interfaces. include: Added tpcshrd.h. comctl32/listview: Don't report current item state in change notification when state change wasn't requested.
Andrew Eikum (2): hid: Fix looking up report in HidP_GetValueCaps. winebus.sys: Report device revision number for hidraw, too.
Benedikt Bär (1): ucrtbase: Link missing functions to msvcrt that are needed by api-ms-win-crt-private-l1-1-0.
Charles Davis (1): configure: Add a missing comma.
Conor McCarthy (1): wldap32: Use ldap_memvfree() to free array allocated by libldap.
Dmitry Timoshkov (1): msxml3: Register various XML character conversion routines if libxml2 doesn't support them.
Dridi Boukelmoune (1): powrprof: Add PowerReadFriendlyName() stub.
François Gouget (18): usp10/tests: A spelling fix in an ok() message. setupapi/tests: A spelling fix in an ok() message. windowscodecs/tests: A couple of spelling fixes in comments. ntdll/tests: A spelling fix in a comment. msscript.ocx: A spelling fix in a comment. jscript/tests: A spelling fix in an ok() message. kernel32/tests: A couple of spelling fixes in ok() call messages. jscript: A spelling fix in a comment. hidclass.sys: A spelling fix in an ERR() message. dplayx: A spelling fix in a FIXME() message. comctl32: A spelling fix in a TRACE() message. advpack: A spelling fix in a comment. winex11.drv: A spelling fix and slight rewording in a comment. wlanapi/tests: Spelling fixes in ok() messages. msvcrt: A spelling fix in a comment. server: A spelling and slight rewording fix in a comment. ntdll: Add a trailing '\n' to a TRACE(). jscript: Add a trailing '\n' to a WARN() message.
Gijs Vermeulen (7): wmp: Improve playlist creation. wmp: Implement IWMPPlaylist::get_count. wmp: Fake success in IWMPPlaylist::appendItem. wmp: Implement IWMPPlaylist::[get|put]_name. wmp/tests: Add some IWMPPlaylist tests. wine.inf: Update E. South America Standard Time. wmp: Fix memory leak in IWMP[Media|Playlist]::put_name.
Henri Verbeet (49): wined3d: Pass a wined3d_context_gl structure to context_set_current(). wined3d: Return a wined3d_context_gl structure from context_get_current(). wined3d: Use d3d_info to determine BGRA vertex support in context_update_stream_info(). wined3d: Get rid of the float16 fallback in context_update_stream_info(). wined3d: Use d3d_info to determine whether shader outputs need interpolation qualifiers. wined3d: Store sRGB read control support in struct wined3d_d3d_info. wined3d: Store sRGB write control support in struct wined3d_d3d_info. wined3d: Store clip control support in struct wined3d_d3d_info. wined3d: Store fixed-function alpha test support in struct wined3d_d3d_info. wined3d: Store the maximum number of "compat" varyings in struct wined3d_d3d_limits. wined3d: Use the format info to determine the A8_UNORM output swizzle in find_ps_compile_args(). wined3d: Move the "gl_info" field from struct wined3d_context to struct wined3d_context_gl. wined3d: Move the "level" field from struct wined3d_context to struct wined3d_context_gl. wined3d: Invalidate the relevant sampler when unloading a currently bound texture. wined3d: Get rid of the "dirtyArray" field from struct wined3d_context. wined3d: Make the adapter responsible for swapchain creation and destruction. wined3d: Introduce a structure for Vulkan context information. wined3d: Setup and tear down the shader backend for the Vulkan adapter. wined3d: Upload buffer ranges through buffer ops. wined3d: Download buffer ranges through buffer ops. wined3d: Make the adapter responsible for buffer creation and destruction. wined3d: Don't call wined3d_texture_prepare_location() with a NULL context in wined3d_texture_update_desc(). wined3d: Make the adapter responsible for render target view creation and destruction. wined3d: Make the adapter responsible for shader resource view creation and destruction. wined3d: Make the adapter responsible for unordered access view creation and destruction. ddraw/tests: Add a test for reported surface caps. wined3d: Never report WINEDDSCAPS_ALPHA, WINEDDSCAPS_SYSTEMMEMORY and WINEDDSCAPS_VISIBLE. wined3d: Always report WINEDDSCAPS_TEXTURE, WINEDDSCAPS_ZBUFFER and WINEDDSCAPS_MIPMAP. wined3d: Report WINEDDSCAPS_BACKBUFFER and WINEDDSCAPS_FRONTBUFFER only on 3D devices. wined3d: Report a few more ddraw surface caps on 3D devices. wined3d: Make the adapter responsible for texture creation and destruction. wined3d: Introduce a separate structure for OpenGL swapchain information. wined3d: Move the backup window from struct wined3d_swapchain to struct wined3d_swapchain_gl. wined3d: Move the context array from struct wined3d_swapchain to struct wined3d_swapchain_gl. wined3d: Get rid of a redundant NULL check in wined3d_context_gl_acquire() (Coverity). ddraw/tests: Fix some test failures on 64-bit ddraw. dxgi/tests: Introduce create_window(). ddraw: Release the wined3d mutex on error paths in ddraw_surface7_Blt(). wined3d: Make the adapter responsible for sampler creation and destruction. wined3d: Introduce a separate structure for OpenGL sampler information. wined3d: Make the adapter responsible for query creation and destruction. wined3d: Make the adapter responsible for flushes. wined3d: Set WINED3D_BLT_RAW for raw blits in cpu_blitter_blit(). wined3d: Implement 3D texture clears in surface_cpu_blt_colour_fill(). wined3d: Introduce wined3d_resource_prepare_sysmem(). wined3d: Introduce wined3d_buffer_ops.buffer_prepare_location(). wined3d: Introduce wined3d_texture_ops.texture_prepare_location(). wined3d: Map/unmap bo addresses through the adapter. wined3d: Merge wined3d_texture_upload_data() and wined3d_texture_gl_upload_data().
Huw D. M. Davies (3): user32: Don't query the nonclient metrics unless the font info is required. riched20: Move handling of EM_SETCHARFORMAT to a helper function. riched20: Don't force an update when styles are changed.
Jacek Caban (34): stdlib.h: Forward strtoll to _strtoi64. stdio.h: Use __acrt_iob_func to access standard stream files. winegcc: Use imported crt DLL instead of msvcrt if specified. d3d9x: Build with ucrtbase. gdiplus: Build with ucrtbase. vbscript: Build with ucrtbase. dsound: Build with ucrtbase. winecrt0: Add __delayLoadHelper2. winecrt0: Add DllMainCRTStartup. msvcr70: Provide floating point function wrappers in importlib. winegcc: Use -nodefaultlibs -nostartfiles for builtin DLLs. kernel32/tests: Improve timeout handling in debugger tests. server: Report only one debug event per process at the time. jscript: Support VT_UI1 and VT_I1 types. jscript: Allow 0x strings with explicit radix 16 in parseInt. jscript: Add support for parametrized compound assignments. msvcrt: Use __iob_func instead of __p__iob in __acrt_iob_func implementation. msvcrt: Export __p__iob only on i386. msvcrt: Avoid conflict with mingw __iob_func declaration. include/msvcrt: Add corecrt.h header. include/msvcrt: Include corecrt.h instead of crtdefs.h. mshtml/tests: Fix events.html on some win10 versions. mshtml/tests: Fix SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION tests on recent IE11 versions. mshtml: Support semicolon in UA compatible string. mshtml/tests: Fix XHR tests on some IE versions. kernel32/tests: Add single step and debug service tests. jscript: Introduce function vtbl and use it for toString implementation. jscript: Move function destructor implementation into vtbl. jscript: Move function call implementation into vtbl. jscript: Move value_proc to BuiltinFunction struct. jscript: Introduce InterpretedFunction struct. jscript: Move function name to NativeFunction. jscript: Implement Function.prototype.bind. mshtml: Add Function.prototype.bind tests.
Józef Kucia (2): wined3d: Fix memory leak in wined3d_swapchain_state_create() (Coverity). winevulkan: Pull in bitmask dependencies for function parameters.
Kai Krakow (1): wined3d: Add GPU information for NVIDIA GTX 1660 Ti.
Kristján Gerhardsson (2): wined3d: Add GPU information for AMD VEGA20. wined3d: Add GPU information for a few more Intel KBL GPUs.
Matteo Bruni (9): d3dx9: Get rid of unused unlock_surface() argument. d3dx9/tests: Make the pixels array static. d3dcompiler/tests: Get rid of redundant "failed" in test strings. d3dcompiler/tests: Trace the test index in test_fail() checks. wined3d: Fix color mask 1-3 state setting. wined3d: Get rid of wined3d_max_compat_varyings(). wined3d: Clean up fallback paths in wined3d_surface_blt(). wined3d: Get rid of surface_blt_special() fallback in wined3d_surface_blt(). wined3d: Allow cross-swapchain blits in the supported cases.
Michael Stefaniuc (5): ntdll: Remove useless cast to self. d3d12/tests: Remove useless casts to self. dxgi/tests: Remove useless casts to self. gdi32/tests: Remove useless casts to self. gdi32: Remove useless casts to self.
Naveen Narayanan (1): ntdll: Set pthread stack guard size to 0 for NetBSD.
Nikolay Sivov (4): dwrite: Add recent script properties. kernel32/tests: Add some tests for setting file times. ntdll/tests: Add some tests for setting file times. ntdll: Ignore -1 time value same as 0 when setting file times.
Paul Gofman (6): d3dx9: Pass rectangle to {lock|unlock}_surface(). ddraw: Return DDERR_SURFACELOST from _GetAttachedSurface() if surface is lost. ddraw: Restore complex attached surfaces when restoring surface. ddraw/tests: Test restoring attached surface for ddraw4. ddraw/tests: Test restoring attached surface for ddraw2. ddraw/tests: Test restoring attached surface for ddraw1.
Peter Dons Tychsen (1): msvcrt: Do not use casting in min/max constants.
Richard Pospesel (11): widl: Change struct _var_t's type member to a struct _decl_spec_t. widl: Refactor to have array type's element use decl_spec_t rather than type_t. widl: Refactor to have pointer type's ref use decl_spec_t rather than type_t. widl: Bump MIDL version to 5.2.202 to avoid RPC_X_WRONG_STUB_VERSION exception in ObjectStublessClient. widl: Use type_function_get_args() instead of type_get_function_args(). widl: Use type_pointer_get_default_fc() in declare_var(). widl: Store the aliasee as a decl_spec_t structure. widl: Pass a decl_spec_t to write_type_v(). widl: Pass a decl_spec_t to write_type_left(). widl: Pass a decl_spec_t to type_new_array(). widl: Pass a decl_spec_t to type_new_alias().
Rémi Bernon (9): ntdll: Add alloc_type parameter to virtual_map_section and top_down to map_image. ntdll: Directly call internal functions from APC handler. ntdll: Change zero_bits parameter type to ULONG_PTR for NtMapViewOfSection and NtAllocateVirtualMemory. ntdll/tests: Factor WoW64 checks and add is_win64 constant. ntdll/tests: Use MEM_TOP_DOWN parameter to consistently fail zero_bits tests. ntdll/tests: Update zero_bits > 31 test case to validate bitmask behavior. ntdll: Use custom internal zero_bits_64 parameter format. ntdll: Implement zero_bits parameter in virtual alloc functions. winex11.drv: Print the FocusIn/FocusOut mode in trace message.
Vincent Povirk (2): mscoree: Update Wine Mono to 4.9.2. mscoree: Add diagnostic CorGetSvc stub.
Zebediah Figura (40): wined3d: Inhibit the screensaver while a full-screen application has focus. qcap: Share source with strmbase. winegstreamer: Share source with strmbase. wineqtdecoder: Share source with strmbase. strmbase: Build with msvcrt. wineqtdecoder: Fix build. ntoskrnl.exe/tests: Add some tests for file objects. ntoskrnl.exe/tests: Add some tests for IRP return values. ntoskrnl.exe: Always set the IRP return size. quartz/filtergraph: Remove type tracing from IGraphBuilder::AddSourceFilter(). quartz: Remove unnecessary tracing from GetClassMediaFile(). quartz: Always try to detect a file by extension first. quartz: Simplify error handling in GetClassMediaFile(). quartz: Simplify error handling in process_pattern_string(). quartz: Use file APIs directly in get_media_type(). quartz: Get rid of GetFileSourceFilter() and CreateFilterInstanceAndLoadFile(). quartz/tests: Add some tests for IGraphBuilder::AddSourceFilter(). include: Add NTSTATUS severity macros. ntoskrnl.exe: Set the IRP output buffer unless the status has both high bits set. d3dcompiler: Get rid of the superfluous "variable" rule. d3dcompiler: Store the arguments to a hlsl_ir_constructor as a fixed array. d3dcompiler: Remove redundant components_count_expr_list() function. d3dcompiler/tests: Simplify test_fail(). d3dcompiler/tests: Add a couple more tests for complex initializers. d3dcompiler: Use the documented YYABORT macro. d3dcompiler: Parse initializer lists using a variable-size array. d3dcompiler: Use new_cast() in implicit_conversion(). d3dcompiler: Introduce a new_unary_expr() helper. d3dcompiler: Introduce a new_binary_expr() helper. widl: Get rid of fix_incomplete(). widl: Use type_function_get_args() in more places. widl: Move the "idx" parameter from struct func_details to var_t. d3dcompiler: Get rid of the "node" field from struct hlsl_ir_function_decl. d3dcompiler: Get rid of the "node" field from struct hlsl_ir_var. widl: Introduce type_iface_get_async_iface(). widl: Use type_iface_get_inherit() in check_async_uuid(). widl: Introduce type_array_{get,set}_ptr_tfsoff(). widl: Use the type_type field to track whether the type is an alias. mscorwks: Prefer the native version. widl: Store the type for casts and sizeof() expressions as a decl_spec_t.
Zhiyi Zhang (1): msctf: Add ITfContextOwnerCompositionServices stub.
-- Alexandre Julliard [email protected]