Release 3.1.

System Internals / WINE - Alexandre Julliard [] - 2 February 2018 18:21 EST


diff --git a/ANNOUNCE b/ANNOUNCE
index 590564d4c2..bbabeda5ee 100644
@@ -1,24 +1,16 @@
-The Wine team is proud to announce that the stable release Wine 3.0
-is now available.
+The Wine development release 3.1 is now available.

-This release represents a year of development effort and over 6,000
-individual changes. It contains a large number of improvements that
-are listed in the release notes below. The main highlights are:
- - Direct3D 10 and 11 support.
- - The Direct3D command stream.
- - The Android graphics driver.
- - Improved DirectWrite and Direct2D support.
-Once again, because of the annual release schedule, a number of
-features that are being worked on have been deferred to the next
-development cycle. This includes in particular Direct3D 12 and Vulkan
-support, as well as OpenGL ES support to enable Direct3D on Android.
+What's new in this release (see below for details):
+ - Kerberos authentication support.
+ - Window class redirection for Common Controls 6.
+ - Support for X11 ARGB visuals.
+ - DOSBox required for running DOS executables.
+ - Various bug fixes.

The source is available from the following locations:


Binary packages for various distributions will be available from:

@@ -34,336 +26,466 @@ AUTHORS in the distribution for the complete list.


-What's new in Wine 3.0
-*** Direct3D
-- A significant number of Direct3D 10 and 11 features are implemented in
- this release, including:
- - Compute shaders.
- - Hull and domain (tessellation) shaders.
- - Stream output.
- - Format capability queries.
- - A large number of shader model 4 and 5 shader instructions.
- - Shader model 4 and 5 interpolation modifiers.
- - Shader model 4 and 5 clip and cull distances.
- - Indirect draws and indirect compute dispatch.
- - Structured buffers.
- - Byte addressable buffers.
- - Append and consume buffers.
- - Unordered access view counters.
- - Cube-map arrays.
- - Layered rendering to 3-dimensional textures and texture arrays.
- - Mip-map generation.
- - Conservative depth output.
- - Type-less (sub)resource copies.
- - Depth bias.
-- The multi-threaded command stream feature serializes Direct3D rendering
- commands from different threads into a single rendering thread. Its main
- purpose in this release is rendering correctness, but the feature also
- provides opportunities for future performance improvements. This feature
- is disabled by default.
-- Support for OpenGL core contexts in Direct3D is improved, to the point
- that core contexts are used by default for Direct3D 10 and 11
- applications on AMD and Intel graphics cards. As a result, users of those
- graphics cards in combination with Mesa OpenGL drivers should no longer
- need to set the "MaxVersionGL" registry key to enable Direct3D 10 and 11
- support.
-- The Direct3D graphics card database recognizes more graphics cards.
-- New HKCU\Software\Wine\Direct3D registry key:
- - "csmt" (REG_DWORD)
- Enable (0x1) or disable (0x0, default) the multi-threaded command
- stream feature described above.
-- Deprecated HKCU\Software\Wine\Direct3D registry keys:
- - "StrictDrawOrdering"
- This has been superseded by the multi-threaded command stream feature.
- - "OffscreenRenderingMode"
- The "fbo" setting is the only remaining supported value. The
- "backbuffer" setting, while still available, is no longer supported.
-- Removed HKCU\Software\Wine\Direct3D registry keys:
- - "AlwaysOffscreen"
- This is always enabled in this release.
- - "MultiSampling"
- Use the "SampleCount" (REG_DWORD) setting to force a specific
- multi-sample anti-aliasing sample count for swapchain render targets
- instead.
-*** Graphics
-- Drawing outlines of Direct2D geometry objects is implemented.
-- Direct2D linear and radial gradient brushes are implemented.
-- Direct2D compatibility with GDI is implemented.
-- Bounds computation of Direct2D geometry objects is implemented.
-- Simplification of Direct2D geometry objects is implemented.
-- The OpenGL extension list is updated to OpenGL version 4.6.
-- The system GLU library is only needed when the Nurbs renderer is used,
- all other GLU functions are implemented internally.
-- Metafile playback in GdiPlus supports most of the GdiPlus-specific
- metafile record types, in addition to the standard metafile records.
-- GdiPlus graphics operations take the GDI transform into account.
-- Encoding image formats with a palette is supported in WindowsCodecs.
-*** Android
-- Wine can be built as an APK package and behaves like a proper Android
- application.
-- A full graphics driver is implemented. Because of restrictions of the
- Android window management API, only full screen desktop mode is
- supported.
-- A full audio driver is implemented.
-- OpenGL is supported, but it's limited to the OpenGL ES API that is
- available on Android.
-- Direct3D is not supported yet, because it cannot run on top of OpenGL ES
- at this point. This will be addressed during the next development cycle.
-*** Kernel
-- The default Windows version is set to Windows 7.
-- The full semantics of named pipes are implemented, including message-mode
- pipes.
-- Position Independent Executables are supported, both for the Wine binary
- itself and also when starting external binaries.
-- Serial and parallel port devices are created automatically, with the
- corresponding symlinks in the dosdevices directory. The detected ports
- can be overridden through the HKLM\Software\Wine\Ports key.
-- Safe DLL search mode is implemented. It is enabled by default, and can be
- disabled by setting the "SafeDllSearchMode" value to 0 under
- HKLM\System\CurrentControlSet\Control\Session Manager.
-- Safe process search mode is implemented. It is disabled by default but
- can be requested by the application, and it can be forced by setting the
- "SafeProcessSearchMode" value to 1 under
- HKLM\System\CurrentControlSet\Control\Session Manager.
-- Asynchronous I/O performance is improved by reducing the number of server
- calls.
-- Memory write watches work correctly when used concurrently with file I/O
- on the same buffers.
-- Virtual memory allocations can be arbitrarily large on 64-bit platforms.
-*** User interface
-- The built-in mouse cursors are redesigned, and available in higher
- resolution for high DPI screens.
-- The Shell Explorer, the common dialogs, and the RichEdit control properly
- scale on high DPI screens.
-- The screen DPI value can be overridden by setting the "LogPixels" value
- under HKEY_CURRENT_USER\Control Panel\Desktop.
-- In desktop mode, higher display resolutions with various aspect ratios
- are supported.
-- The Task Dialog common control is implemented.
-- The Internal User Interface is supported in MSI.
-- Double-buffered theme painting is implemented.
-- The TWAIN library supports a user dialog for selecting the scanner
- source.
-- Device-independent bitmaps and metafiles can be stored into the OLE Data
- Cache.
-*** Desktop integration
-- The StartupWMClass field is set in generated desktop files so that they
- can be matched to their respective Windows binary.
-- Clipboard changes from other X11 applications are detected through the
- Xfixes library instead of polling.
-- The RichEdit control supports pasting metafiles.
-- The Program Manager DDE protocol for manipulating program entries and
- groups is implemented.
-- The HID service for detecting Plug & Play devices is active by default.
-- Version 4 of the system tray notification protocol is supported on macOS.
-*** Text and fonts
-- Contextual glyph substitution is supported in UniScribe.
-- Character tables are based on version 10.0.0 of the Unicode Standard.
-- The Nepali and Bangla (India) locales are supported.
+Bugs fixed in 3.1 (total 29):
+ 13332 widl fails with unknown embedded type for somedata (0x0)
+ 37997 Jeskola Buzz Build 1499 (.NET 4.0 app) crashes on unimplemented function msvcp100.dll.??0_Concurrent_queue_base_v4@details@Concurrency@@IAE@I@Z
+ 38064 Using alt+enter to fullscreen any rpgmaker XP game causes keyboard input lose and not fullscreen
+ 38436 Grand Theft Auto V failed to launch
+ 39319 Multiple 64-bit applications fail to start due to loader refusing to map 32-bit resource-only dll into 64-bit process (Solid Edge ST8, ICU4C tools)
+ 40078 With IrfanView copied image detail is horizontally flipped
+ 40418 Doom 4 requires bcrypt AES provider
+ 40623 DOOM (2016) demo (Steam) crashes on launch due to Denuvo copy protection
+ 40926 Multiple games (Solus Project, Dying Light) require unimplemented function msvcp110.dll.??0_Concurrent_queue_base_v4@details@Concurrency@@IEAA@_K@Z
+ 42170 Microsoft .NET Framework 4.6.2 offline installer does not complete, needs wevtapi.EvtNext stub
+ 42330 Grand Theft Auto V (Steam): black screen, only audio
+ 42716 64-bit MetaTrader5 refuses to start, reports 'A debugger has been found running in your system' (Denuvo Anti-Tamper x64)
+ 43538 x64dbg needs unimplemented function msvcp120.dll.??0_Concurrent_queue_base_v4@details@Concurrency@@IAE@I@Z
+ 43595 Rainmeter doesn't run, demands windows 7 or later (needs (stub) ID2D1Factory1)
+ 43728 Magic: The Gathering Online intensive CPU usage when idle
+ 44035 Xenia emulator doesn't start
+ 44138 Native Access needs unimplemented function iphlpapi.dll.if_indextoname
+ 44158 QueryProcessCycleTime() causing exception/crash
+ 44176 EverQuest crashes with unimplemented function d3dx9_43.dll.D3DXCreateKeyframedAnimationSet
+ 44270 Exception when organizing favorites in Windows Media Player 6.4 (unimplemented function shdocvw.dll.DoOrganizeFavDlg)
+ 44277 WOLF RPG Editor: Certain background music doesn't stop when using XAudio2
+ 44294 Possible access to unintended macro in "wine/dlls/comdlg32/fontdlg.c" line 592
+ 44296 Qt 5 programs fail to resolve DNS SRV records
+ 44310 WritePrivateProfileString doesn't check for flush errors
+ 44329 Listview does not reset returned state mask for subitems
+ 44347 Touhou Shinpiroku trial terminates
+ 44349 winedbg: stepping is broken using GDB proxy
+ 44365 armel build fails: selected processor does not support `strd r4,[sp]' in ARM mode
+ 44379 Visual Novel "A Clockwork Ley-Line": ntdll.dll.RtlPushFrame called

-- Font support is compatible with the new behaviors introduced in FreeType
- version 2.8.1.
-*** DirectWrite
-- Trailing line trimming signs in both character and word modes is
- supported.
-- Cluster wrapping mode is supported.
-- Uniform and proportional line spacing methods are implemented.
-- Oblique and bold simulation is also supported in bitmap rendering mode.
-- Per-factory cache is thread safe.
-- Overhang metrics evaluation for layouts are implemented.
-- In-memory font file loader is implemented and is available to
- applications.
-*** D3DX
-- Support for D3DX 9 preshaders is improved.
-- Support for D3DX 9 application defined effect state managers
- (ID3DXEffectStateManager) is implemented.
-- Using effect pools to share effect parameters between D3DX 9 effects is
- implemented.
-*** Internet and networking
-- UDP/TCP listeners are implemented in Web Services.
-- Web Services supports the .NET Binary Format, including the string table
- extension.
-- Web Services supports the .NET Message Framing Protocol.
-- Asynchronous support is enabled for receiving messages in Web Services.
-- HTML event handling is rewritten to support standard-compliant mode.
-- Multiple new standard-compliant HTML APIs are supported. HTML document
- mode support is improved to preserve compatibility with documents
- expecting legacy behavior.
-- The WebBrowser control supports MHTML files.
-- Embedding HTML documents in .NET applications is better supported.
-- WinHTTP correctly parses cookie attributes.
-*** Cryptography
-- Cryptographic hashes are implemented internally instead of relying on
- GnuTLS.
-- AES encryption is supported.
-- The Microsoft Root Certificate 2011 is added to the list of known
- Microsoft certificates.
-- The Mono and Gecko add-on packages are verified with SHA256 checksums.
-*** ARM platforms
-- On ARM, the floating point ABI defaults to 'softfp' for compatibility
- with Windows binaries. It can be changed by passing the --with-float-abi
- flag to configure.
-- The Wine preloader is also used on ARM64 platforms.
-- Relay debugging is supported on ARM64 platforms.
-*** Built-in applications
-- Registry importing and exporting in RegEdit is reimplemented for better
- compatibility. Windows 3.1 registry files can also be imported. Registry
- files are exported to Unicode format by default.
-- RegEdit always shows the 64-bit view of the registry on 64-bit prefixes.
-- The Reg.exe registry manipulation tool supports importing and exporting
- registry files.
-- The command interpreter implements the MKLINK command.
-- The command interpreter supports escape characters in the prompt string.
-- WineMine shows a confirmation dialog before resetting the best scores.
-*** Tools
-- The IDL compiler (widl) handles C++ aggregate returns in an
- MSVC-compatible way.
-- The resource compiler (wrc) supports translating version resources
- through the po files.
-- The Wine debugger (winedbg) supports printing floating point and SSE
- register state.
-- All Perl scripts that parse XML use the standard XML::LibXML module.
-- The obsolete wineinstall tool is removed.
-*** Miscellaneous
-- XAudio supports float audio formats with more than 2 channels.
-- The Scheduler and related classes are supported in the C++ runtime.
-- SQL driver installation is supported in ODBC.
-- The ProgramData well known directory is supported.
-- The Mono engine is updated with upstream Mono fixes, and supports the
- Mono profiler API version 2.
-- The thread id is always displayed in debug traces.
-*** New external dependencies
-- The krb5 library is used to implement the Kerberos Authentication
- Package.
-- The XFixes library is used to receive clipboard change notifications.

+Changes since 3.0:
+Akihiro Sagawa (1):
+ kernel32: Return the list of module handles even if the last argument is null.
+Alex Henrie (8):
+ wintrust/tests: Initialize structure passed to WintrustLoadFunctionPointers.
+ include: Correct definition of CRYPT_PROVUI_FUNCS.
+ schannel/tests: Avoid dereferencing a null function pointer.
+ include: Add WIDL attributes to dhtmled.idl.
+ dhtmled.ocx: Add dll and stub DHTMLEdit object.
+ include: Add CertRegisterSystemStore and CertUnregisterSystemStore.
+ crypt32/tests: Drop store test workarounds for Windows <= 2000.
+ gameux/tests: Drop game stats test workarounds for Windows <= 2000.
+Alexandre Julliard (36):
+ ntdll: Export strnlen.
+ ntdll: Use DWORDs for ARM assembly instructions.
+ comdlg32: Add a helper function to select a combo box item.
+ commdlg: Implement custom template support in 16-bit file dialogs.
+ winex11: Don't allocate a window surface for off-screen windows.
+ wineandroid: Don't allocate a window surface for off-screen windows.
+ server: Only update the modified parts of the context on thread suspend.
+ include: Add missing CONTEXT_ALL definitions.
+ include: Add a few more TEB structure definitions.
+ ntdll: Implement RtlPushFrame, RtlPopFrame and RtlGetFrame.
+ ntdll: Store the context on the thread stack after the initial suspend.
+ ntdll: Move suspending a thread on startup back to the platform-specific files.
+ user32: Also user the thread-safe display DC in icon functions.
+ configure: Check the positive form of the warning options.
+ opengl32: Update to the current OpenGL spec.
+ winex11: Use the correct colormap for the OpenGL parent window.
+ winex11: Use a separate XRender format for the root window.
+ winex11: Force the alpha bits in the window surface for 32-bit visuals.
+ winex11: Support using an ARGB visual as default visual.
+ winex11: Default to an ARGB visual when depth is set to 32.
+ mshtml: Avoid using a global display DC.
+ server: Allow creating image mappings for all supported CPU platforms.
+ ntdll: Don't return 64-bit image info to 32-bit processes.
+ server: Implement the ImageContainsCode flag for image mappings.
+ ntdll: Move file mapping functionality to a helper function.
+ ntdll: Check for file mappings that cannot be loaded as dlls.
+ wineandroid: Handle additional mouse event types.
+ winevdm: Require DOSBox for running DOS executables.
+ krnl386: Remove support for running DOS executables.
+ ntdll: Remove support for vm86 mode.
+ wineandroid: Force non-zero state on ACTION_BUTTON_RELEASE to avoid duplicate events.
+ krnl386: Remove support for DOS devices and event handling.
+ krnl386: Remove support for VGA emulation.
+ winedbg: Remove support for vm86 exceptions.
+ kernel32: Remove support for vm86 exceptions.
+ comdlg32: Correctly initialize the item dialog structure.
+Alistair Leslie-Hughes (3):
+ dpnet: Use the global HeapAlloc() wrappers.
+ advapi32: Support WinLogonIdsSid in IsWellKnownSid.
+ d3dx9: Stub D3DXCreateKeyframedAnimationSet().
+Andrew Eikum (3):
+ xinput: XInputGetStateEx takes the same struct as XInputGetState.
+ services: Add support for service status change notifications.
+ advapi32: Implement NotifyServiceStatusChange.
+Andrey Gusev (4):
+ winmm/tests: Fix memory leak.
+ d3d8/tests: Use GetModuleHandleA instead of LoadLibraryA.
+ api-ms-win-core-shutdown-l1-1-0: Add dll.
+ api-ms-win-security-lsalookup-l2-1-0: Add dll.
+André Hentschel (1):
+ ntdll: Determine write fault based on failed instruction on ARM64.
+Anton Romanov (1):
+ ole32: Make CoWaitForMultipleHandles peek at all posted messages.
+Aric Stewart (1):
+ joy.cpl: Add parameters for Condition FF effects.
+Austin English (1):
+ kernel32: Add QueryProcessCycleTime stub.
+Bernhard Übelacker (1):
+ user32: Validate DIB offset in CURSORICON_GetFileEntry.
+Dmitry Timoshkov (26):
+ include: Fix the LSA_SEC_HANDLE definition.
+ include: MICROSOFT_KERBEROS_NAME_A definition should be available regardless of UNICODE.
+ kerberos: Use kerberos prefix instead of krb5.
+ kerberos: Implement SpGetInfo.
+ include: Fix the SpInitializeFn typedef.
+ kerberos: Add stubs for SpInitialize and SpShutdown.
+ kerberos: Add SpUserModeInitialize implementation.
+ kerberos: Add SpInstanceInit stub.
+ kerberos: Don't fail InitializeSecurityContext if there are unsupported flags.
+ kerberos: Fix printing of the sequence message number.
+ kerberos: Print verbose traces on gssapi failures.
+ kerberos: Add support for KerbQueryTicketCacheMessage.
+ secur32: Add support for loading SSP/AP dll as an SSPI provider.
+ secur32: Implement AcquireCredentialsHandle in the SSP/AP wrapper.
+ secur32: Implement FreeCredentialsHandle in the SSP/AP wrapper.
+ secur32: Implement InitializeSecurityContext in the SSP/AP wrapper.
+ secur32: Implement DeleteSecurityContext in the SSP/AP wrapper.
+ secur32: Implement AcceptSecurityContext in the SSP/AP wrapper.
+ secur32: Implement QueryContextAttributes in the SSP/AP wrapper.
+ secur32: Implement MakeSignature in the SSP/AP wrapper.
+ secur32: Implement VerifySignature in the SSP/AP wrapper.
+ secur32: Implement EncryptMessage in the SSP/AP wrapper.
+ secur32: Implement DecryptMessage in the SSP/AP wrapper.
+ secur32: Remove Kerberos SSPI stubs.
+ secur32: Implement LsaFreeReturnBuffer.
+ secur32: Print contents of LSA_STRING in traces.
+Fabian Maurer (1):
+ kernel32: Add stub for ReOpenFile.
+François Gouget (2):
+ ole32/tests: Add a trailing '\n' to ok() calls.
+ dxgi: Fix a trailing '\n' in a FIXME().
+Gijs Vermeulen (2):
+ compobj.dll16: Add StringFromIID.
+ ole2disp.dll16: Implement SafeArrayGet[UBound|LBound].
+Guo Lv (1):
+ user32: Make functions use display dc thread-safe.
+Hans Leidekker (23):
+ dnsapi: Use default server list if passed in array is empty.
+ msi: Write registry values for source components too.
+ crypt32: Add a stub implementation of CertUnregisterPhysicalStore.
+ iphlpapi: Implement if_indextoname.
+ webservices: Fix is_nil_element in binary mode.
+ webservices: Take the output encoding into account in WsCopyNode.
+ webservices: Don't write a colon for namespace attributes with empty prefix.
+ webservices: Simplify write_dict_string.
+ webservices: Also set localname and value for xmlns attributes.
+ webervices/tests: Add tests for out of range string IDs.
+ kerberos: Implement SpAcquireCredentialsHandle.
+ kerberos: Implement SpInitLsaModeContext.
+ kerberos: Implement SpAcceptLsaModeContext.
+ kerberos: Implement SpDeleteContext.
+ kerberos: Implement SpFreeCredentialsHandle.
+ kerberos: Implement SpQueryContextAttributes.
+ kerberos: Implement SpMakeSignature.
+ kerberos: Implement SpVerifySignature.
+ kerberos: Implement SpSealMessage.
+ kerberos: Implement SpUnsealMessage.
+ kerberos: Don't check for GSS_S_CONTINUE_NEEDED from gss_acquire_cred.
+ kerberos: Fix parameter check in kerberos_SpUnsealMessage.
+ kerberos: Use the global memory allocation helpers.
+Henri Verbeet (30):
+ d3d10: Validate the DXBC version.
+ d3d11: Validate the DXBC version.
+ winex11: Failing to create a context in X11DRV_wglCreateContextAttribsARB() is not an internal error.
+ d2d1: Introduce a registry key to limit the maximum supported factory version.
+ winex11: Implement WGL_ARB_create_context_no_error.
+ wined3d: Introduce WINED3D_RESOURCE_ACCESS_MAP.
+ wined3d: Get rid of WINED3D_POOL_SCRATCH.
+ wined3d: Use the resource access flags in arbfp_blit_supported().
+ wined3d: Use the resource access flags in fbo_blitter_supported().
+ wined3d: Use the resource access flags in ffp_blit_supported().
+ wined3d: Use the resource access flags in buffer_init().
+ wined3d: Use the resource access flags in wined3d_device_update_texture().
+ wined3d: Use the resource access flags in wined3d_device_evict_managed_resources().
+ d2d1: Use the global memory allocation helpers.
+ wined3d: Use the resource access flags in resource_init().
+ wined3d: Use the resource access flags in resource_cleanup().
+ wined3d: Use the resource access flags in wined3d_resource_set_priority().
+ wined3d: Use the resource access flags in surface_blt_special().
+ d2d1: Introduce a helper function to allocate arrays.
+ d2d1: Use d2d_array_reserve() in d2d_clip_stack_push().
+ wined3d: Use the resource access flags in ffp_blitter_use_cpu_clear().
+ wined3d: Use the resource access flags in wined3d_surface_blt().
+ wined3d: Use more resource access flags in wined3d_texture_use_pbo().
+ d2d1: Replace d2d_calloc() with a global heap_calloc() helper.
+ d3d10: Use the global memory allocation helpers.
+ wined3d: Use the resource access flags in wined3d_texture_set_lod().
+ wined3d: Use the resource access flags in wined3d_texture_unload().
+ wined3d: Use the resource access flags in texture_resource_sub_resource_map().
+ wined3d: Replace the pool in struct wined3d_sub_resource_desc with resource access flags.
+ wined3d: Replace the pool in struct wined3d_resource_desc with resource access flags.
+Huw D. M. Davies (13):
+ winebrowser: Fix calling convention for wine_get_unix_file_name().
+ hhctrl: Use a helper to free the wintype structure.
+ hhctrl: Fix loading of the wintype data on 64-bit.
+ ole32: Implement saving of view cache entries.
+ oleaut32/tests: Remove some no longer needed test work-arounds.
+ oleaut32: Fix vtable offset for a SYS_WIN32 typelib loaded on WIN64.
+ gdi32: Don't bother using the return value of HeapFree().
+ ole32: Only load the contents stream for the static clsids.
+ ole32: Explicitly enumerate the presentation streams rather than using EnumElements.
+ gdi32: Allocate the bitmap bits during CreateBitmapIndirect() to catch out-of-memory errors.
+ ole32: Don't keep the streams open.
+ ole32: There's no need to recreate the static entry when parsing the CONTENTS stream.
+ ole32: Allow caching of icon aspects for static class caches.
+Jacek Caban (18):
+ schtasks: Added /delete command implementation.
+ schtests: Added /create command implementation.
+ schtasks: Added support for /f argument in create command.
+ ole32: Post quit message after leaving wait loop in CoWaitForMultipleHandles.
+ ole32: Don't dispatch WM_QUIT messages in CoWaitForMultipleHandles.
+ ole32: Don't stop processing messages after WM_QUIT in CoWaitForMultipleHandles.
+ ole32/tests: Added more CoWaitForMultipleHandles tests.
+ kernel32: Always set bytes read in ReadFile.
+ kernel32: Don't initialize Information of passed OVERLAPPED struct in ReadFile.
+ kernel32: Always set bytes written in WriteFile.
+ kernel32: Don't initialize Information of passed OVERLAPPED struct in WriteFile.
+ schtasks: Ignore /tr and /ru options.
+ mshtml: Added IDOMEvent::get_srcElement implementation.
+ crypt32: Added support for szOID_NIST_sha* OIDs.
+ crypt32: Support constructed strings in octet strings decoder.
+ crypt32/tests: Added more decoding tests.
+ crypt32: Fixed decoded size calculation in CRYPT_AsnDecodeSequence when indefinite length is used.
+ crypt32: Always set returned size in CRYPT_CopySignerInfo.
+Józef Kucia (38):
+ dxgi/tests: Add test for creating IDXGIFactory2.
+ d3d10_1/tests: Introduce check_interface() helper function.
+ dxgi: Update to IDXGIFactory2.
+ dxgi: Update to IDXGISwapChain1.
+ dxgi: Implement dxgi_factory_CreateSwapChainForHwnd().
+ dxgi: Update to IDXGIFactory4.
+ dxgi: Implement CreateDXGIFactory2().
+ d3d11: Prefer D3D11 interfaces.
+ dxgi: Set BufferUsage in dxgi_swapchain_GetDesc().
+ dxgi/tests: Zero swapchain descriptions.
+ dxgi: Implement dxgi_swapchain_GetDesc1().
+ dxgi: Implement dxgi_swapchain_GetFullscreenDesc().
+ dxgi/tests: Introduce check_interface() function.
+ dxgi: Implement dxgi_factory_EnumAdapterByLuid().
+ dxgi/tests: Add test for adapter locally unique identifiers.
+ dxguid: Add more Direct3D IIDs.
+ dxgi/tests: Fix crash in test_output_desc().
+ wined3d: Add buffer usage to wined3d_swapchain_desc.
+ dxgi: Stop ignoring buffer usage.
+ d3d11: Use proper bind flags for swapchain textures.
+ dxgi/tests: Add test for back buffer usage flags.
+ widl: Increase max import depth.
+ widl: Reformat do_import().
+ dxgi: Allow wrapping adapter objects.
+ dxgi: Allow wrapping factory objects.
+ wined3d: Simplify code paths in wined3d_cs_exec_update_sub_resource().
+ dxgi: Add FIXME messages for unhandled DXGI_SWAP_CHAIN_FULLSCREEN_DESC fields.
+ dxgi: Require window when creating swapchain.
+ dxgi: Implement IDXGIAdapter3.
+ dxgi: Implement IDXGIOutput4.
+ dxgi/tests: Add test for wrapping COM objects.
+ dxgi/tests: Accept higher adapter refcounts in test_create_swapchain().
+ d3d11: Validate resource access flags for buffers and 2D textures.
+ d3d11/tests: Add test for resource access flags.
+ d3d10core/tests: Add test for resource access flags.
+ d3d11/tests: Cleanup viewport offsets in test_fractional_viewports().
+ d3d11/tests: Add option to use selected adapter.
+ d3d11/tests: Print adapter information.
+Kimmo Myllyvirta (1):
+ dxgi: Add stub implementation for DXGI_PRESENT_TEST.
+Louis Lenders (1):
+ uxtheme: Add stub for SetWindowThemeAttribute.
+Lucian Poston (1):
+ d2d1: Implement ID2D1Factory1.
+Mark Jansen (1):
+ shobjidl.idl: Fix some typo's.
+Martin Storsjo (4):
+ ucrtbase: Hook up __intrinsic_setjmpex for x86_64 and arm64.
+ ntdll: Implement NtFlushInstructionCache using __clear_cache where available.
+ configure: Check for -Wno-pragma-pack.
+ msvcrt: Optimize the aarch64 setjmp/longjmp using stp/ldp.
+Masanori Kakura (1):
+ xaudio2: Partially implement XA2SRC_SetChannelVolumes().
+Michael Müller (2):
+ include: Add activation.idl with IActivationFactory interface.
+ include/objidl.idl: Add IApartmentShutdown interface.
+Michael Stefaniuc (31):
+ kernel32/tests: Fix the HeapReAlloc name in two comments.
+ include: Add generic HeapAlloc() wrappers.
+ vbscript: Use the global HeapAlloc() wrappers.
+ advapi32: Use the global HeapAlloc() wrappers.
+ advpack: Use the global HeapAlloc() wrappers.
+ appwiz.cpl: Use the global HeapAlloc() wrappers.
+ atl: Use the global HeapAlloc() wrappers.
+ browseui: Use the global HeapAlloc() wrappers.
+ dwrite: Use the global HeapAlloc() wrappers.
+ localspl: Use the global HeapAlloc() wrappers.
+ explorerframe: Use the global HeapAlloc() wrappers.
+ dnsapi: Use the global HeapAlloc() wrappers.
+ hhctrl.ocx: Use the global HeapAlloc() wrappers.
+ iccvid: Use the global HeapAlloc() wrappers.
+ dwrite/tests: Use the global HeapAlloc() wrappers.
+ gdi32/tests: Use the global HeapAlloc() wrappers.
+ inetcomm: Use the global HeapAlloc() wrappers.
+ inetcpl.cpl: Use the global HeapAlloc() wrappers.
+ inseng: Use the global HeapAlloc() wrappers.
+ jsproxy: Use the global HeapAlloc() wrappers.
+ hlink: Use the global HeapAlloc() wrappers.
+ msident: Use the global HeapAlloc() wrappers.
+ msscript.ocx: Use the global HeapAlloc() wrappers.
+ ieframe: Use the global HeapAlloc() wrappers.
+ jscript: Use the global HeapAlloc() wrappers.
+ mshtml: Use the global HeapAlloc() wrappers.
+ netprofm: Use the global HeapAlloc() wrappers.
+ odbccp32: Use the global HeapAlloc() wrappers.
+ ole32: Use the global HeapAlloc() wrappers.
+ oleacc: Use the global HeapAlloc() wrappers.
+ msvcrt: Use the global HeapAlloc() wrappers.
+Nikolay Sivov (54):
+ urlmon/tests: Add some more PARSE_PATH_FROM_URL tests.
+ user32: Add SysLink to known classes list.
+ oleaut32/tests: Use SafeArraySetIID() directly.
+ comctl32/updown: Remove window subclass right before window is destroyed.
+ shell32: Reduce code duplication in GetCommandString().
+ comctl32/listview: Always return zero state mask for subitems.
+ ole2disp: Implement SafeArrayDestroyData().
+ user32/edit: Fix EM_SETWORDBREAKPROC return value.
+ msxml3: Use IUri API to load documents.
+ msxml3: Implement custom document importing callback.
+ msxml3: Register msxsl:node-set() extension function.
+ shell32: Fix a trace message.
+ comctl32/tests: Link to activation context API directly.
+ comctl32/tests: Remove not so useful macro.
+ comctl32/tests: Add a helper to replace macro.
+ comctl32/tests: Enable cGrow field tests for version 6 serialization format.
+ comctl32/tests: Link to comctl32.dll dynamically.
+ comctl32/tests: A test for TCN_SELCHANGING handling.
+ comctl32/tests: Use better names for test window procedures.
+ comctl32/tests: Extend TCM_SETTOOLTIPS test.
+ comctl32/tests: Remove some test sequences that are not interesting.
+ comctl32/tests: Reload library before starting version 6 tests.
+ user32: Enable window class redirection.
+ wevtapi: Add EvtNext() stub.
+ comctl32/tests: Enable more ListView tests.
+ comctl32/tests: Use public macro for ListView class name.
+ comctl32/tests: Run Header format mask tests on version 6.
+ comctl32/tests: Add more tests for tab focus.
+ comctl32/tests: Run some DateTime tests on version 6 too.
+ comctl32/tests: Run DPA tests on version 6.
+ user32/tests: Add more A/W message data conversion tests.
+ comctl32/tests: Enable IP address control tests on version 6.
+ comctl32/tests: Enable Trackbar tests on version 6.
+ dbghelp: Preserve caller supplied structure size member in SymGetModuleInfo() functions.
+ dbghelp: Make sure returned module info strings are null-terminated.
+ dbghelp: Use correct destination buffer length when initializing module data.
+ winedbg: Remove some unnecessary pointer casts.
+ ole32/tests: Move stream creation to test function that's using it.
+ dbghelp: Use correct module name buffer length when doing enumeration.
+ user32: Make it possible to create windows for redirected classes.
+ user32/edit: Fix replacement text trace.
+ comctl32/treeview: Fix tooltip window leak.
+ comctl32/tests: Run more TreeView tests on version 6.
+ comctl32: Introduce Edit control.
+ comctl32/edit: Get rid of ansi buffer.
+ winedbg: Use longer module names when printing module list.
+ comctl32/edit: Merge theming logic.
+ comctl32/edit: Fix replacement text trace.
+ comctl32/updown: Use HeapAlloc() wrappers.
+ comctl32/treeview: Use HeapAlloc() wrappers.
+ comctl32/header: Use HeapAlloc() wrappers.
+ comctl32/hotkey: Use HeapAlloc() wrappers.
+ comctl32/imagelist: Use HeapAlloc() wrappers.
+ user32/tests: Add some tests for GetClassName() and versioned classes.
+Paul Graham (1):
+ kernel32: Fix failure reporting in WritePrivateProfile* and add tests.
+Piotr Caban (14):
+ msvcp100: Add Concurrency::details::_Concurrent_queue_base_v4 class stub.
+ msvcp100: Add _Concurrent_queue_base_v4::_Internal_throw_exception implementation.
+ msvcp100: Add _Concurrent_queue_base_v4 constructor implementation.
+ msvcp100: Add _Concurrent_queue_base_v4 destructor implementation.
+ msvcp100: Add _Concurrent_queue_base_v4::_Internal_finish_clear implementation.
+ msvcp100: Add _Concurrent_queue_base_v4::_Internal_size implementation.
+ msvcp100: Add _Concurrent_queue_base_v4 push/pop implementation.
+ msvcp120: Add _Concurrent_queue_base_v4 tests.
+ msvcp120: Add _Concurrent_queue_base_v4 multi-threaded tests.
+ msvcp100: Support exceptions while copying object in _Concurrent_queue_base_v4::_Internal_push.
+ msvcr100: Add _NonReentrantPPLLock@details class stub.
+ msvcr100: Use scoped_lock internal buffer when locking critical_section.
+ msvcr100: Add _NonReentrantPPLLock class implementation.
+ msvcr100: Add _ReentrantPPLLock class implementation.
+Sebastian Lackner (4):
+ include: Add shellscalingapi.h.
+ shcore: Add stub dll and GetProcessDpiAwareness stub.
+ shcore: Implement semi-stub for GetDpiForMonitor.
+ shcore: Add SetProcessDpiAwareness stub.
+Sergio Gómez Del Real (1):
+ ole32: Prevent adding additional cache entries to static class caches.
+Stefan Dösinger (2):
+ ws2_32/tests: Fix the printed value in a few ok lines.
+ ddraw/tests: Make test_depth_readback work on Nvidia GPUs on Windows.
+Thomas Faber (4):
+ usp10: Re-use script caches for the same font.
+ ntdll: Handle RtlReAllocateHeap failure in com_class_add_progid (Coverity).
+ comctl32/tests: Fix broken ok() messages.
+ comctl32: Unset the toolbar's hot item when deleting a button.
+Vijay Kiran Kamuju (1):
+ shdocvw: Add stub DoOrganizeFavDlg.
+Wei Xie (1):
+ wininet: Don't release connection too early.
+Zebediah Figura (9):
+ winedbg/gdbproxy: Add support for floating-point registers on x86 and x86_64.
+ winedbg/gdbproxy: Replace memory read over a breakpoint with the real value.
+ quartz: Wait for the PullPin thread to terminate.
+ hlink: Directly check for S_OK from IHlinkBrowseContext_GetObject().
+ user32/tests: Add a helper to check clipboard sequence and messages.
+ user32/tests: Wait for the WM_CLIPBOARDUPDATE message to be received.
+ dbghelp: Avoid an infinite loop.
+ user32/tests: Flush events after test_ShowWindow().
+ user32: Kill focus before minimizing a window.

Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index fc2c5a60ea..0691e913b6 100644
@@ -527,6 +527,7 @@ Guido Barzini
Guillaume Charifi
Gunnar Dalsnes
Günther Brammer
+Guo Lv
Gurmail Bassi
Gustavo Henrique Milaré
Gustavo Junior Alves
@@ -1163,6 +1164,7 @@ Paul Bryan Roberts
Paul Chitescu
Paul Falstad
Paul Gofman
+Paul Graham
Paul Laufer
Paul McNett
Paul Millar
diff --git a/VERSION b/VERSION
index 90be9f6ddb..1ec652b68d 100644
@@ -1 +1 @@
-Wine version 3.0
+Wine version 3.1
diff --git a/configure b/configure
index 3e7feecf05..c7c7e40d63 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Wine 3.0.
+# Generated by GNU Autoconf 2.69 for Wine 3.1.
# Report bugs to .
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.

@@ -2302,7 +2302,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Wine 3.0 to adapt to many kinds of systems.
+\`configure' configures Wine 3.1 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

@@ -2372,7 +2372,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Wine 3.0:";;
+ short | recursive ) echo "Configuration of Wine 3.1:";;
cat <<\_ACEOF

@@ -2593,7 +2593,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Wine configure 3.0
+Wine configure 3.1
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3111,7 +3111,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

-It was created by Wine $as_me 3.0, which was
+It was created by Wine $as_me 3.1, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
@@ -19978,7 +19978,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
-This file was extended by Wine $as_me 3.0, which was
+This file was extended by Wine $as_me 3.1, which was
generated by GNU Autoconf 2.69. Invocation command line was

@@ -20049,7 +20049,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-Wine config.status 3.0
+Wine config.status 3.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

f9181daa1d Release 3.1.
ANNOUNCE | 812 ++++++++++++++++++++++++++++++++++++--------------------------
VERSION | 2 +-
configure | 18 +-
4 files changed, 479 insertions(+), 355 deletions(-)


  • Share