The Wine development release 3.11 is now available. What's new in this release (see below for details): - More debugger support for Wow64 processes. - Support for sha256/sha384 hashes in ECDSA signatures. - Better reporting of hyper-threaded CPUs. - Improvements to the standard Task Dialog. - Various bug fixes. The source is available from the following locations: https://dl.winehq.org/wine/source/3.x/wine-3.11.tar.xz http://mirrors.ibiblio.org/wine/source/3.x/wine-3.11.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 3.11 (total 12): 27708 GetThreadSelectorEntry fails 28251 Shadows do not appear in Mafia II 41174 DDS Converter (DX11) crashes with an error message "Failed init D3D device" 43579 starting any wine process on armv7l: Bus error (core dumped) 44557 Chuckie Egg: The Next Batch v1.2 regression on Wine 3.2 (CSMT) 45109 Implement debugging 32-bit processes using 64-bit winedbg 45156 autohotkey can't seem to click buttons any more (breaking winetricks -q dirac et al) 45284 Multiple Microsoft Office installers crash with Windows 8+ setting due to missing 'user32.RegisterPointerDeviceNotifications' stub (Office 2013) 45294 64-bit Mod Organizer 2.1.2 dev6-Silarn-prerelease fails to load 'usvfs_x64.dll', needs 'ntdll.RtlReleaseRelativeName' 45299 Adobe flash player online installer fails the download 45302 Multiple Microsoft Office installers crash with Windows 8+ setting due to missing 'user32.GetPointerDevices' stub (Office 2013) 45303 Multiple Microsoft Office installers crash with Windows 8+ setting due to missing 'user32.RegisterTouchHitTestingWindow' stub (Office 2013) ---------------------------------------------------------------- Changes since 3.10: Alexandre Julliard (6): ntdll: Pass the server context to get/set_thread_context(). winedbg: Fix some compiler warnings. winex11: Fix exposing partially off-screen windows. ntdll: Implement RtlExpandEnvironmentStrings(). user32: Don't remap DPI for font size in points when saving. user32: Check the DpiScalingVer registry key to enable DPI scaling. Alistair Leslie-Hughes (1): winex11: Correct compile without vulkan support. Andrew Eikum (1): winex11.drv: Refcount the vulkan surface window. Andrey Gusev (1): winex11.drv: Move condition to the proper place. André Hentschel (1): ws2_32/tests: Use the available ARRAY_SIZE() macro. Dmitry Timoshkov (6): mstask: Retry opening a .job file only in case of sharing violation. schedsvc: Retry opening a .job file only in case of sharing violation. mstask: Implement ITask::SetWorkItemData(). mstask: Implement ITask::GetWorkItemData(). mstask/tests: Add some tests for workitem data. gdi32: For symbol fonts check whether the char has been converted to Unicode. Fabian Maurer (1): ntdll: Add stub for WinSqmSetDWORD. François Gouget (2): winetest: Don't show dll=skipped messages for skipped tests. wsdapi: Add a trailing '\n' to a WARN() message. Hans Leidekker (5): webservices: Avoid a warning from HeapDestroy. webservices: Avoid accessing the old user buffer in WsSetOutput/ToBuffer. webservices: Implement WsShutdownSessionChannel. webservices: Use the static dictionary only while writing the message header. webservices: Send incremental string table updates with messages in the same session. Hua Meng (4): msvcp120: Add test for Concurrent_vector_copy. msvcp120: Add test for Concurrent_vector_assign. msvcp120/tests: Add test for Concurrent_vector_swap. msvcp120: Add test for Concurrent_vector_Internal_compact. Jacek Caban (5): jscript: Use global accumulator for storing function call results. mshtml: Support input event. mshtml.idl: Added IHTMLPerformance declaration. mshtml.idl: Added IHTMLPerformance test. mshtml: Added IHTMLWindow7::performance property implementation. Józef Kucia (26): d3d11: Normalize 1D texture view descriptions. wined3d: Get rid of WINED3DCAPS typedef. wined3d: Remove "Reserved" fields from wined3d_caps. wined3d: Store feature level in d3d_info. wined3d: Expose feature level in wined3d caps. dxgi: Get supported feature levels from wined3d caps. winedbg: Get rid of ifdefs. d3d11: Introduce get_resource_properties() helper function. wined3d: Initialize depth/stencil texture data. d3d9/tests: Add test for depth stencil initialization. wined3d: Reduce nesting in texture2d_load_sysmem(). wined3d: Use WINED3D_LOCATION_DISCARDED before initializing buffers with data. wined3d: Call wined3d_cs_emit_update_sub_resource() directly in buffer_init(). wrc: Accept hyphens in identificators. vulkan-1/tests: Add tests. include: Add POINTER_INPUT_TYPE. include: Add interactioncontext.h. ninput: Implement CreateInteractionContext(). ninput: Add ProcessInertiaInteractionContext() stub. ninput: Implement SetPropertyInteractionContext(). ninput: Add SetInteractionConfigurationInteractionContext() stub. ninput: Add RegisterOutputCallbackInteractionContext() stub. shell32: Accept more flags in SHGetKnownFolderPath(). shell32/tests: Reorder known_folders table definition. shell32/tests: Add tests for SHGetKnownFolderPath() flags. shell32/tests: Remove empty element from known_folders[]. Kieran Duggan (1): d3dx9/tests: Add initial tests for ID3DXFont::DrawText(). Lauri Kenttä (1): po: Update Finnish translation. Matteo Bruni (2): wined3d: Generate shader epilogue before conditional returns. wined3d: Set stream stride and offset even when buffer is NULL. Michael Müller (4): crypt32: Implement decoding of X509_OBJECT_IDENTIFIER. crypt32: Implement decoding of X509_ECC_SIGNATURE. crypt32/tests: Add a basic test for ecdsa oid. crypt32: Add oids for sha256ECDSA and sha384ECDSA. Michael Stefaniuc (31): windowscodecs/tests: Use the available ARRAY_SIZE() macro. winhttp/tests: Use the available ARRAY_SIZE() macro. vcomp/tests: Use the available ARRAY_SIZE() macro. msi/tests: Avoid ARRAY_SIZE-like macros. msxml3/tests: Use the available ARRAY_SIZE() macro. ole32/tests: Use the available ARRAY_SIZE() macro. include: Add an option to disable line numbers in the tests. dsound/tests: Avoid ARRAY_SIZE-like macros. dsound/tests: Use the available ARRAY_SIZE() macro. winmm/tests: Avoid and ARRAY_SIZE-like macro. winmm/tests: Use the available ARRAY_SIZE() macro. shell32/tests: Avoid sizeof in a trace. shell32/tests: Use the available ARRAY_SIZE() macro. setupapi/tests: Use the available ARRAY_SIZE() macro. msi/tests: Use the available ARRAY_SIZE() macro. winedbg: Use the available ARRAY_SIZE() macro. oleaut32/tests: Use the available ARRAY_SIZE() macro. oleaut32/tests: Avoid an ARRAY_SIZE-like macro. oleaut32/tests: Use a better type to avoid a cast. riched32/tests: Use the available ARRAY_SIZE() macro. riched20/tests: Use the available ARRAY_SIZE() macro. urlmon/tests: Use the available ARRAY_SIZE() macro. wininet/tests: Use the correct array size in a notification_data test. msvcrt: Rename a macro to ARRAY_SIZE(). msvcrt/tests: Use the available ARRAY_SIZE() macro. wininet/tests: Use the available ARRAY_SIZE() macro. ntdll/tests: Use the available ARRAY_SIZE() macro. ntdll/tests: Avoid ARRAY_SIZE-like macros. kernel32/tests: Use the available ARRAY_SIZE() macro. crypt32: Use the available ARRAY_SIZE() macro. crypt32/tests: Use the available ARRAY_SIZE() macro. Nikolay Sivov (4): user32: Fix returned class name for other process windows. po: Update Russian translation. crypt32: Use ARRAY_SIZE macro. crypt32/tests: Compact existing OID tests. Owen Rudge (10): wsdapi: Add support for listening for UDP multicast broadcasts. wsdapi: Add critical section around notification sinks. wsdapi: Add stub for Probe message parsing, prepare notification sink message. wsdapi: Add initial support for reading messages; identify Probe message. wsdapi: Return "any" headers in read_message. wsdapi: Implement probe message parsing. wsdapi: Build types list when parsing Probe message. wsdapi: Add support for parsing AppSequence header. wsdapi/tests: Add tests for AppSequence in Probe message. wsdapi/tests: Add tests for MatchProbeEx. Piotr Caban (11): msvcr100: Fix lldiv implementation. msvcp120: Fix function passed to _Concurrent_vector_base_v4::_Internal_clear. msvcp120: Add alloc/free count validation tests in _Concurrent_vector_base_v4. msi/tests: Add package minor/major upgrade tests. msi: Add support for ProductToBeRegistered property. msi: Re-publish product if previous installation with different package is detected. msi: Add REINSTALLMODE=v installation mode test. msi: Add ProductToBeRegistered property tests. msi: Report error when cached installer has different version. msi: Add support for re-caching package. appwiz.cpl: Support installing minor updates when installing addons. Roderick Colenbrander (5): ntdll: Derive number of logical CPU cores from core mask. ntdll: Store core information by core on macOS. ntdll: Report physical cores once with proper thread mask. ntdll: GetLogicalProcessorInformationEx report LTP_PC_SMT for SMT cores. ntdll: GetLogicalProcessorInformation report LPT_PC_SMT for SMT cores. Zebediah Figura (37): ntdll: Implement RtlWow64GetThreadContext(). ntdll: Implement RtlWow64SetThreadContext(). kernel32: Implement Wow64GetThreadContext(). kernel32: Implement Wow64SetThreadContext(). msvcrt: Avoid using inline assembly in call_unwind_func(). msvcrt: Don't reimplement call_unwind_func(). ndrtypes.h: Add more constants. rpcrt4: Use publicly defined NDR constants. widl: Use publicly defined NDR constants. winedbg: Make be_cpu process-specific. winedbg/gdbproxy: Remove unnecessary checks for supported context flags. winedbg: Use WOW64_CONTEXT instead of CONTEXT for i386 backend. winedbg: Add a backend-specific vector for retrieving a thread's context. winedbg: Add a backend-specific vector for setting a thread's context. winedbg: Implement debugging 32-bit processes on x86_64. winedbg/gdbproxy: Store the register map inside the be_cpu struct. winedbg: Always start the interactive debugger in 64-bit mode if in a 64-bit prefix. dbghelp: Determine the target Mach-O architecture from the process's architecture. dbghelp: Read the 32-bit Mach-O header. dbghelp: Pass an image_file_map to macho_enum_load_commands(). dbghelp: Read the Mach-O segment command corresponding to the target's architecture. dbghelp: Translate the 32-bit Mach-O section header to the 64-bit one. dbghelp: Read the stabs nlist entry corresponding to the target's architecture. winedbg/gdbproxy: Handle VS thread renaming. msi: Mark exported wine functions CDECL. vbscript: Treat \r as a newline separator. hnetcfg/tests: Fix BSTR usage in test_NetFwAuthorizedApplication(). hnetcfg: Store the UNC path in INetFwAuthorizedApplication_put_ProcessImageFileName(). winetest: Increase maximum tag length. user32/tests: Ignore all non-keyboard messages in test_Input_blackbox(). user32/tests: Skip tests for window messages if we failed to receive foreground status. winedbg: Provide a more helpful error message when unable to attach to a process. oleaut32: Correct some comments. winedbg: Suppress all message boxes if ShowCrashDialog is disabled. shell32/tests: Don't test CommandLineToArgv() in test_argify(). gdi32/tests: Test writing to the default palette. psapi/tests: Add todo_wine to a failing test. Zhiyi Zhang (15): comctl32/taskdialog: Zero out taskdialog_info at initialization. comctl32/taskdialog: Remove unused parameter. comctl32/taskdialog: Add taskdialog_destroy(). comctl32/taskdialog: Support dynamic layout. comctl32/taskdialog: Create main instruction without templates. comctl32/taskdialog: Create content without templates. comctl32/taskdialog: Create buttons without templates. comctl32/taskdialog: Add support for TDM_ENABLE_BUTTON. comctl32/taskdialog: Add support for main icon. comctl32/taskdialog: Add support for loading standard icons. comctl32/taskdialog: Add support for hyperlink. comctl32/taskdialog: Add support for progress bar. gdiplus: Fix a memory leak. gdiplus: Report error for brush_fill_path(). gdiplus: Avoid calling GdipFillPath() with an empty path. -- Alexandre Julliard julliard@winehq.org