Software 42361 Published by

Alexandre Julliard has announced the release of the first release candidate for Wine 8.0 with bundled vkd3d upgraded to version 1.6, Vulkan and OpenGL thunking optimizations, more support for print processors, improved joystick control panel, long types printf format conversion finished, and various bug fixes.



Wine release 8.0-rc1

The Wine development release 8.0-rc1 is now available.

This is the first release candidate for the upcoming Wine 8.0. It marks the beginning of the yearly code freeze period. Please give this release a good testing and report any issue that you find, to help us make the final 8.0 as good as possible.

What's new in this release:
- Bundled vkd3d upgraded to version 1.6.
- Vulkan and OpenGL thunking optimizations.
- More support for print processors.
- Improved joystick control panel.
- Long types printf format conversion finished.
- Various bug fixes.

The source is available at:

https://dl.winehq.org/wine/source/8.0/wine-8.0-rc1.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 8.0-rc1 (total 52):

- #28290 shell32:shelllink - test_load_save() crashes randomly in Wine
- #36681 ws2_32/tests/sock.c fails on gentoo without IPX support
- #46649 Multiple applications need D3DXDisassembleShader() implementation (Tom Clancy's Rainbow Six: Vegas 2, The Void)
- #48105 kernel32:console fails on Japanese and Chinese Windows
- #51234 user32:clipboard test_ClipboardOwner() has a race condition with clipboard managers
- #51456 oleaut32:typelib: test_CreateTypeLib(SYS_WIN32) fails in 64-bit Wine
- #51457 The 32-bit version:install fails in 64-bit wineprefixes (now todo)
- #51780 The user32:msg output is too big in Wine
- #52507 user32:win has some spurious GetScrollInfo failures
- #52875 riched20:editor fails with the UTF-8 code page
- #52877 user32:msg - test_dbcs_wm_char() fails in Wine in the Japanese and Chinese locales
- #52909 rpcrt4:ndr_marshall crashes on the latest Windows 8.1, 21H1 and 21H2
- #52910 mshtml:htmldoc fails on Windows with the UTF-8 codepage
- #52965 kernel32:locale - test_GetLocaleInfoW() and test_invariant() fail on Windows in Hindi
- #52980 conhost.exe:tty - test_tty_input() fails in most locales on Windows
- #53183 shell32:shelllink - test_load_save() randomly fails to delete test.lnk in Wine
- #53199 dinput:force_feedback - test_windows_gaming_input() sometimes has unexpected reference counts in Wine
- #53207 user32:msg - test_button_messages() fails randomly in Windows and Wine
- #53208 user32:msg - The SW_SHOWMINIMIZED test in test_messages() succeeds in Wine with fvwm
- #53211 ddraw:ddraw1 has over 255 failures on the debian11 TestBot VMs
- #53233 ddraw:ddraw1 - test_clear() has rare failures in Wine on the debian11 VM
- #53240 dinput:device8 - test_sys_mouse() has some rare failures on the TestBot VMs
- #53254 urlmon:url - test_URLDownloadToFile_abort() sometimes fails on Windows 7+
- #53327 Ragnarok Online bad performance
- #53342 quartz:mpegaudio - The 64-bit test_streaming_events() times out on fg-deb64
- #53530 mshtml:htmldoc - test_editing_mode(TRUE, TRUE) sometimes fails
- #53568 16bit applications refuse to start wine 7.15+
- #53646 Multiple installers crash in user32 (Drakan, Star Wars, Colin McRae, X-COM, etc.)
- #53678 vbscript can not compile CaseClausules that do not use a colon
- #53684 ntdll:info is broken on Windows 8 to 10 1709 in the GitLab WineTest builds
- #53686 The 64-bit kernel32:console is broken on Windows in the GitLab WineTest builds
- #53783 vbscript can not compile private const expressions
- #53814 TMUnlimiter 1.2.0.0 requires ini files with whitespace in the section to be parsed properly
- #53895 ddraw:ddraw1, ddraw:ddraw2, ddraw:ddraw4, ddraw:ddraw7 - test_cursor_clipping() fails on dual screen setups in Wine
- #53927 script56.chm help file pages not functioning properly due to wine missing beforeprint and afterprint html events
- #53950 dup2 error returns ENFILE instead of EBADF
- #53964 Redim should fail on fixed arrays
- #53966 NCryptExportKey is not implemented
- #53968 NCryptSignHash is not implemented
- #53971 postgresql installer 9.3 needs support for Username in WScript.Network
- #53972 BCryptSignHash does not support BCRYPT_PAD_PSS
- #53987 Regression in print handling in Framemaker 8
- #53996 MDB Viewer Plus: can not open database
- #53999 JGlossator crashes
- #54009 Wine segfaults on startup on macOS 12 and 13
- #54012 kernel32:heap - The 64-bit test_GlobalAlloc() fails on Windows 7
- #54043 Studio One Professional 5 crash on launch with an unimplemented function USER32.dll.RegisterSuspendResumeNotification
- #54057 prints do not work in any application
- #54075 wldap32:parse - test_ldap_paged_search() sometimes gets LDAP_SERVER_DOWN in Wine, crashes
- #54087 mshtml:events sometimes gets a failure in Protocol_Continue() on Windows
- #54098 winhttp:notification fails and times out systematically in Wine
- #54111 Unable to run "make install" after "makedep: Add a helper function to skip spaces in strings."

----------------------------------------------------------------

Changes since 7.22:

Alex Henrie (44):
wldap32: Use the strdup function instead of reimplementing it.
mshtml: Remove string constant macros from navigate.c.
wininet: Simplify memory allocation in HTTP_InsertCustomHeader.
comctl32: Use standard C functions for memory allocation in edit.c.
atl: Fix memory leak on error path in do_process_root_key (scan-build).
vbscript: Fix memory leak on realloc failure in Global_Split (cppcheck).
shell32: Rename ShellItem to struct shell_item.
include: Add shobjidl_core.idl.
include: Annotate StrDup[AW] with __WINE_MALLOC and __WINE_DEALLOC.
hhctrl: Use standard C functions for memory allocation.
mountmgr: Use standard C functions for memory allocation.
include: Annotate I_RpcAllocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
services: Use standard C functions for memory allocation.
include: Annotate WlanAllocateMemory with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Define __stat64.
msi: Use the wcsdup function instead of reimplementing it.
include: Annotate ber_(alloc_t|bvdup|init) with __WINE_(DEALLOC|MALLOC).
include: Annotate SnmpUtilMem(Re)Alloc with __WINE_(DEALLOC|MALLOC).
mshtml: Annotate nsalloc with __WINE_(DEALLOC|MALLOC).
rpcrt4/tests: Don't use an array of pointers in test_conf_complex_struct.
comctl32: Annotate (Re)Alloc with __WINE_(DEALLOC|MALLOC).
wiaservc: Remove unused function wiaservc_strdup.
include: Move wdbgexts.h from dbghelp to include.
shell32: Don't use GetProcAddress for GetOpenFileName[AW].
winecfg: Use standard C functions for memory allocation.
winecfg: Annotate allocation functions with __WINE_(DEALLOC|MALLOC).
quartz/tests: Remove redundant null check from testfilter_JoinFilterGraph.
rpcrt4: Use standard C functions for memory allocation.
dbghelp: Annotate allocation functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Annotate CreateThreadpool* with __WINE_(DEALLOC|MALLOC).
kernel32/tests: Use the strcasecmp function instead of reimplementing it.
setupapi: Use _S_I(READ|WRITE) from sys/stat.h instead of redefining them.
setupapi: Move prototypes not in Windows's setupapi.h to setupapi_private.h.
msi: Use _O_* constants from fcntl.h instead of redefining them.
msi: Remove wrappers around CRT memory allocation functions.
include: Annotate WSDAllocateLinkedMemory with __WINE_(ALLOC_SIZE|MALLOC).
winhlp32: Use standard C functions for memory allocation.
include: Annotate MFHeapAlloc with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Annotate (Alloc|Realloc)ADs* with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Annotate GdipAlloc with __WINE_(DEALLOC|MALLOC).
include: Annotate ILC* functions with __WINE_(DEALLOC|MALLOC).
include: Add corecrt_malloc.h.
wsdapi: Annotate duplicate_(string|name) with __WINE_MALLOC.
cmd: Use standard C functions for memory allocation.

Alexandre Julliard (84):
avicap32: Use the Unix call helpers.
capi2032: Use the Unix call helpers.
ctapi32: Use the Unix call helpers.
dnsapi: Use the Unix call helpers.
gphoto2.ds: Use the Unix call helpers.
msv1_0: Use the Unix call helpers.
netapi32: Use the Unix call helpers.
qcap: Use the Unix call helpers.
sane.ds: Use the Unix call helpers.
winspool.drv: Use the Unix call helpers.
wpcap: Use the Unix call helpers.
ntdll: Also fixup the delay import directory when mapping a .so dll.
winebuild: Add a helper function to output a thunk data pointer.
winebuild: Use RVAs instead of absolute addresses in the delay import descriptors.
winebuild: Generate a separate helper for each delay-imported module.
winebuild: Pass the delay import descriptor to the __wine_spec_delay_load function.
winebuild: Call __delayLoadHelper2 to resolve delay imports also on non-PE builds.
opengl32: Fix calling convention of Unix call entry points.
ntdll: Export the Unix call dispatcher function pointer.
ntdll: Implement a faster Unix call dispatcher on i386.
ntdll: Implement a faster Unix call dispatcher on x86_64.
ntdll: Implement a faster Unix call dispatcher on ARM64.
ntdll: Implement a faster Unix call dispatcher on ARM.
wow64cpu: Add a custom 32->64 thunk for Unix calls.
ntdll: Replace the __wine_unix_call() syscall by a function calling through the dispatcher.
configure: Remove obsolete AL/al.h check.
setupapi: Fix wildcard matching for fakedlls inside the build dir.
ntdll: Only build the wow64 function table on 64-bit.
ntdll: Use ret instead of jmp to return from syscall dispatchers.
winebuild: Reinstate the __wine_spec_dll_entry() entrypoint for .so dlls.
ntdll: Move the .so module initialization to winecrt0.
ntdll: Initialize Unix calls early during startup.
opengl32: Fix GLdouble type alignment on the Unix side.
opengl32: Pass the TEB pointer in the Unix call parameters.
opengl32: Don't free memory at process exit.
png: Import upstream release 1.6.39.
mpg123: Import upstream release 1.31.1.
kernelbase: Update timezone data to version 2022g.
winebuild: Avoid quoting section names.
winebuild: Put the delay import thunk in a separate section.
include: Use proper dllimports for advapi32 functions.
include: Use proper dllimports for lz32 functions.
include: Use proper dllimports for version functions.
include: Use proper dllimports for gdi32 functions.
include: Use proper dllimports for user32 functions.
include: Use proper dllimports for shlwapi functions.
include: Use proper dllimports for rpcrt4 functions.
include: Use proper dllimports for OLE functions.
include: Use proper dllimports for crypt32 functions.
include: Use proper dllimports for comctl32 functions.
include: Use proper dllimports for comdlg32 functions.
include: Use proper dllimports for winhttp functions.
include: Use proper dllimports for wininet functions.
include: Use proper dllimports for shell32 functions.
include: Use proper dllimports for winsock functions.
vkd3d: Import upstream release 1.6.
makedep: Add the default Unix libraries also when building .dll.so files.
makedep: Add a helper function to skip spaces in strings.
ldap: Use LONG instead of long for exported types.
msvcrt: Fix printf format warnings on ARM platforms.
ntdll: Fix printf format warnings on ARM platforms.
oleaut32: Fix printf format warnings on ARM platforms.
winedbg: Fix printf format warnings on ARM platforms.
winspool.drv: Remove a no longer used inline function.
kernel32/tests: Fix an uninitialized variable warning.
kernelbase/tests: Fix an uninitialized variable warning.
makedep: Fix parsing of man page section.
configure: Simplify checks for functions that require an external library.
configure: Only require frame pointer on the MSVCRT side.
configure: Enable printf format warnings for 64-bit PE builds.
commdlg: Consistently use %I printf format for ULONG_PTR values.
gdi.exe: Consistently use %I printf format for ULONG_PTR values.
kernel32/tests: Consistently use %I printf format for ULONG_PTR values.
mmsystem: Consistently use %I printf format for ULONG_PTR values.
msacm: Consistently use %I printf format for ULONG_PTR values.
msvcrt: Consistently use %I printf format for ULONG_PTR values.
msvideo: Consistently use %I printf format for ULONG_PTR values.
ntdll: Consistently use %I printf format for ULONG_PTR values.
setupx: Consistently use %I printf format for ULONG_PTR values.
shell: Consistently use %I printf format for ULONG_PTR values.
user.exe: Consistently use %I printf format for ULONG_PTR values.
wintab: Consistently use %I printf format for ULONG_PTR values.
winecrt0: Include basetsd.h to get the _WIN64 definition.
apisetschema: Add a few more API sets pointing to existing dlls.

Anton Baskanov (6):
quartz/tests: Add tests for MPEG layer-3 decoder source connection.
quartz/tests: Add tests for MPEG layer-3 decoder sample processing.
quartz/tests: Add tests for MPEG layer-3 decoder sample timestamps.
quartz/tests: Add tests for MPEG layer-3 decoder streaming events.
quartz/tests: Add tests for MPEG layer-3 decoder quality control.
winegstreamer: Register MPEG layer-3 decoder.

Aurimas Fišeras (1):
po: Update Lithuanian translation.

Bartosz Kosiorek (6):
gdiplus: Add support for Custom Line Indent.
gdiplus: Fix position of Custom Cap when Scale is different that 1.
gdiplus: Add support for LineCapArrowAnchor.
gdiplus: Improve performance of GdipScaleMatrix.
gdiplus: Improve performance of matrix multiplication by unrolling loop.
gdiplus: Improve performance of GdipTranslateMatrix.

Bernhard Kölbl (1):
mfmediaengine: Pass volume changes to media session.

Brendan Shanks (18):
include: Add __WINE_(DEALLOC|MALLOC) attributes to wine_get_(dos|unix)_file_name.
mountmgr.sys: Free wine_get_dos_file_name memory with HeapFree.
wpcap: Free wine_get_unix_file_name memory with HeapFree.
loader: Add comments to 'start' in macOS preloader.
loader: In macOS preloader, fix up argc/argv in C rather than asm.
loader: In macOS preloader, manually set 'environ' to work around a bug in macOS 12 and later.
configure: Always enable Mac driver on macOS.
configure: Remove ApplicationServices.framework check (always present on macOS).
configure: Remove Carbon.framework check (always present on macOS).
configure: Remove CoreAudio.h check (always present on macOS).
configure: Remove DiskArbitration.framework check (always present on macOS).
configure: Remove check for the HID Manager (always present on macOS).
configure: Remove check for IOKit (always present on macOS).
configure: Remove Metal.framework check (present in all supported macOS SDKs).
configure: Remove Security.framework check (always present on macOS).
configure: Remove SystemConfiguration header check (always present on macOS).
winemac: Remove pre-Mac OS X 10.7 workaround.
loader: In macOS preloader, set NXArgc, NXArgv, and environ on i386 and x86_64.

Connor McAdams (4):
uiautomationcore: Add UiaRemoveEvent stub.
uiautomationcore: Add UiaEventAddWindow stub.
uiautomationcore: Add UiaEventRemoveWindow stub.
uiautomationcore: Add UiaAddEvent stub.

David Kahurani (3):
xmllite/writer: Implement WriteChars.
xmllite/writer: Implement WriteRawChars.
xmllite/writer: Implement WriteSurrogateCharEntity.

Eric Pouech (64):
wined3d: Set flag types to uint32_t (external definitions).
wined3d: Set flag types to uint32_t (internal definitions).
wined3d: Set location types to uint32_t.
winedump: Don't crash when dumping .dbg files.
configure: Log pkg-config error messages.
wined3d: Store version information as unsigned int.
wined3d: Change wined3d_resource.usage field to uint32_t.
wined3d: Set resource's priority field's type as unsigned int.
wined3d: Convert fbo_entry.rt_mask to uint32_t type.
wined3d: Let control_values' type be unsigned int.
wineconsole: Set launched process name as created console title.
wined3d: Transfer long types' enabling at file level.
wined3d: Store GetLastError() into an unsigned int.
wined3d: Enable long types in adapter_vk.c.
wined3d: Enable long types in ati_fragment_shader.c.
wined3d: Reduce long integral type usage in wined3d_main.c.
wined3d: Enable long types in wined3d_main.c.
wined3d: Reduce usage of long integral types in vertexdeclaration.c.
wined3d: Enable long types in vertexdeclaration.c.
wined3d: Reduce usage of long integral types in palette.c.
wined3d: Enable long types in palette.c.
wined3d: Enable long types in directx.c.
wined3d: Enable long types in context_gl.c.
wined3d: Reduce usage of long integral types in buffer.c.
wined3d: Enable long types in buffer.c.
wined3d: Reduce usage of long integral types in swapchain.c.
wined3d: Enable long types in swapchain.c.
wined3d: Enable long integral types in cs.c.
wined3d: Reduce usage of long integral types in adapter_gl.c.
wined3d: Enable long types in adapter_gl.c.
wined3d: Reduce usage of long integral types in glsl_shader.c.
wined3d: Enable long types in glsl_shader.c.
wined3d: Reduce usage of long integral types in include/wined3d.h.
wined3d: Reduce usage of long integral types in device.c.
wined3d: Enable long types in device.c.
wined3d: Reduce usage of long integral types in surface.c.
wined3d: Enable long types in surface.c.
msvcr90: Fix warning on object access tests.
wined3d: Reduce usage of long integral types in utils.c.
wined3d: Enable long types in utils.c.
wined3d: Reduce usage of long integral types in shader.c.
wined3d: Enable long types in shader.c.
wined3d: Reduce usage of long integral types in nvidia_texture_shader.c.
wined3d: Enable long types in nvidia_texture_shader.c.
wined3d: Get/set texture's level_count and lod as unsigned int.
wined3d: Change stencil parameter type in blitter_clear() method.
wined3d: Reduce usage of long integral types in texture.c.
wined3d: Enable long types in texture.c.
d3dx9_36/tests: Enable compilation with long types.
winedbg: Avoid passing a non allocated buffer to HeapFree.
wined3d: Reduce usage of long integral types in shader_sm1.c.
wined3d: Enable long types in shader_sm1.c.
wined3d: Reduce usage of long integral types in shader_sm4.c.
wined3d: Enable long integral types in shader_sm4.c.
wined3d: Let sampler_states and texture_states be 2D arrays of uint32_t.
wined3d: Reduce usage of long integral types in stateblock.c.
wined3d: Enable long integral types in stateblock.c.
wined3d: Reduce usage of long integral types in state.c.
wined3d: Enable long integral types in state.c.
wined3d: Reduce usage of long integral types in view.c.
wined3d: Enable long integral types in view.c.
wined3d: Reduce usage of long integral types in arb_program_shader.c.
wined3d: Use proper enum type in arb_program_shader.c.
wined3d: Enable long types in arb_program_shader.c.

Etaash Mathamsetty (1):
ntoskrnl.exe: Use KeQueryMaximumProcessorCountEx for KeQueryMaximumProcessorCount.

Evan Tang (1):
winebus.sys: Report unique serial numbers for SDL devices.

Floris Renaud (1):
po: Update Dutch translation for joy.cpl.

François Gouget (1):
kernel32/tests: Avoid failures when processes start during the process test.

Gabriel Ivăncescu (24):
mshtml: Implement print events.
mshtml: Implement location.reload().
mshtml: Implement `onload` prop for input elements.
mshtml: Set `reload` load type to Gecko for document reloads.
mshtml: Implement performance.navigation.redirectCount.
mshtml: Implement performance.navigation.type.
mshtml: Treat edit mode as a reload.
mshtml: Return proper error for invalid selectors in IE8 mode.
mshtml: Don't check for doc_node from the doc obj when it can't be NULL.
include/mshtml: Add IHTMLXDomainRequest and factory interfaces and classes.
mshtml: Keep a ref to the window during the doc nsevent handlers.
mshtml: Send load event synchronously for img elements that loaded instantly in legacy modes.
jscript: Pass correct 'this' to host objects in ES5 mode.
mshtml: Don't lock document mode when querying IEventTarget.
mshtml/tests: Allow BINDINFO_OPTIONS_ENABLE_UTF8 in bind options.
mshtml/tests: Expect UpdateUI, Exec_UPDATECOMMANDS and Exec_SETTITLE in edit mode.
include/mshtmhst: Add CGID_ScriptSite and CMDIDs for it.
mshtml: Rename EVENTID_INVALID to EVENTID_INVALID_ID.
mshtml/tests: Accept rare unknown error in ReportResult.
jscript: Use a jsdisp to hold refs for scopes.
jscript: Implement a Garbage Collector to deal with circular references.
jscript: Implement CollectGarbage().
jscript: Run the garbage collector every 30 seconds on a new object allocation.
jscript: Create the source function's 'prototype' prop object on demand.

Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.237.

Hans Leidekker (15):
ncrypt: Implement NCryptExportKey().
ncrypt: Implement NCryptSignHash().
wpcap: Build pcap_address structure from IP_ADAPTER_UNICAST_ADDRESS.
wldap32/tests: Skip paged search tests when the server can't be reached.
bcrypt/tests: Get rid of workarounds for old Windows versions.
bcrypt: Pass key size in bytes to EXPORT_SIZE and use the macro consistently.
bcrypt: Fix possible buffer overflow in export_gnutls_datum().
bcrypt: Remove unused argument from hash_finalize().
bcrypt: Validate key type.
bcrypt: Support duplicating public keys without access to the private key.
bcrypt: Add support for PSS padding.
winhttp/tests: Reduce send buffer size.
wtsapi32: Improve the stub for WTSQuerySessionInformation(WTSClientProtocolType).
wofutil: New dll.
wofutil: Stub WofShouldCompressBinaries().

Huw D. M. Davies (1):
ntdll: Fix -Wformat warnings on macOS.

Ivo Ivanov (6):
wineusb.sys: Move event handling to a single thread.
winebus.sys: Search for added devices by devnode path in process_monitor_event().
wineusb.sys: Add support for TransferBufferMDL.
wineusb.sys: Pass interface and interface_index from the event data to the usb device data.
wineusb.sys: Implement DevClass compatible id for devices with multiple interfaces.
wineusb.sys: Add usbver, revision, busnum and portnum to PDO's instance id.

Jacek Caban (34):
configure: Use -nostdlib instead of -nostartfiles in WINE_TRY_PE_CFLAGS.
winegcc: Use -nostdlib instead of -nostartfiles on Clang MSVC targets.
configure: Use -fuse-ld=lld also for compilation targets.
ntdll: Get TEB from signal stack pointer in init_handler.
ntdll: Call init_handler in usr1_handler.
ntdll: Detect ntdll module also by module path comparison.
win32u: Move NtUserGetDC implementation from user32.
win32u: Move NtUserGetWindowDC implementation from user32.
win32u: Move NtUserValidateRect implementation from user32.
win32u: Move NtUserPrintWindow implementation from user32.
user32: Merge painting.c into win.c.
winex11: Use NtUserGetDC.
winevulkan: Fix handling pointers to pointer-size variables in 32-bit thunks.
winevulkan: Don't try to unwrap missing optional handle struct members.
winevulkan: Wrap VkDeviceMemory.
winevulkan: Use VK_EXT_external_memory_host extension to map memory on wow64.
winevulkan: Get rid of direct Unix calls.
winevulkan: Use UNIX_CALL macro for Unix calls.
configure: Use -Wl,-WX for clang configure checks in MSVC mode.
wldap32: Define LDAP_NEEDS_PROTOTYPES.
opengl32: Use default calling convention for WGL driver entry points.
winex11: Remove no longer used declarations.
win32u: Move NtUserRealChildWindowFromPoint implementation from user32.
win32u: Move NtUserGetInternalWindowPos implementation from user32.
user32: Merge winpos.c into win.c.
winevulkan: Rename needs_host_type to needs_win32_type.
win32u: Move NtUserWaitMessage implementation from user32.
win32u: Move GetShellWindow implementation from user32.
win32u: Move NtUserSetShellWindowEx implementation from user32.
win32u: Move SetProgmanWindow implementation from user32.
win32u: Move GetProgmanWindow implementation from user32.
win32u: Move SetTaskmanWindow implementation from user32.
win32u: Move GetTaskmanWindow implementation from user32.
user32: Merge focus.c into input.c.

Matteo Bruni (6):
wined3d: Don't try to access unused buffers in wined3d_context_gl_load_numbered_arrays().
wined3d: Remove unnecessary index increment in wined3d_context_gl_cleanup_resources().
wined3d: Get rid of a redundant branch.
wined3d: Move backup window / DC handling from the swapchain to the device.
wined3d: Destroy primary GL context if initialization fails.
wined3d: Don't use separate GL contexts for different swapchains.

Michael Stefaniuc (4):
dmstyle: Simplify parsing of a style track list.
dmstyle: Simplify parsing of a style reference list.
dmstyle: Get rid of a no longer used function.
dmstyle: Move a struct declaration to the file it is used in.

Michel Zou (1):
msvcrt: Fix errno set on dup from read-only file.

Mohamad Al-Jaf (1):
wbemprox: Provide accurate SMBIOS serial number.

Nikolay Sivov (21):
wshom: Fix WshNetwork interface definition.
comctl32/header: Use CRT allocation functions.
comctl32/monthcal: Use CRT allocation functions.
comctl32/static: Use CRT allocation functions.
comctl32/button: Use CRT allocation functions.
comctl32/listview: Use CRT allocation functions.
d3dcompiler: Implement D3DDisassemble() using vkd3d-shader.
vbscript: Make redim fail on fixed-size arrays.
d3d10/effect: Remove unused field from property description data.
d3d10/effect: Add min/max instructions support for expressions.
d3d10/effect: Add 'neg' instruction support for expressions.
d3d10/effect: Add 'mul' instruction support for expressions.
d3d10/effect: Add sin/cos instruction support for expressions.
d3dx9/preshader: Handle input register table.
d3dx9/effect: Split parameters data from effect object.
d3d10/effect: Partially implement updates through value expressions.
d3d10/effect: Add 'ftob' instruction support for expressions.
d3d10/effect: Add 'div' instruction support for expressions.
d3d10/effect: Add 'rcp' instruction support for expressions.
d3d10/effect: Add 'frc' instruction support for expressions.
comctl32: Switch back to internal allocation function.

Paul Gofman (17):
user32: Add stub for GetPointerInfo().
winegstreamer: Query stream tags and set MF_SD_LANGUAGE attribute.
winegstreamer: Extract stream name from QT demuxer private data.
mfplay/tests: Add MF_SD_LANGUAGE and MF_SD_STREAM_NAME value tests.
ddraw: Sync draw textures even for hardware device.
windows.devices.enumeration/tests: Fix reference count test in device_watcher_handler_Invoke().
windows.devices.enumeration/tests: Make test handlers structure static.
winhttp: Do not open connection in handle_redirect().
winhttp: Don't refill buffer after receiving server response.
winhttp: Send notifications from receive_response() directly.
winhttp: Receive server reply in send_request().
winhttp: Factor out queue_receive_response().
winhttp: Call receive_response() recursively instead of looping.
winhttp: Wait for WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE in request_send().
winhttp: Execute receive_response() synchronously when possible.
winhttp/tests: Test WinHttpReceiveResponse() synchronous behaviour.
winhttp/tests: Test calling WinHttpReceiveResponse() recursively from various send callbacks.

Piotr Caban (56):
localspl: Add FILE: port monitor implementation.
localspl: Add FILE: port tests.
localspl: Convert MONITOREX structure to MONITOR2 during port monitor initialization.
localspl: Introduce printer_info_t structure.
localspl: Add AddJob implementation.
localspl: Add StartDocPrinter implementation.
localspl: Add SetJob implementation.
localspl: Add GetJob implementation.
localspl: Add partial ScheduleJob implementation.
localspl: Add EndDocPrinter implementation.
gdi32: NULL terminate output string in CreateDCW.
winspool: Don't translate port name to path in StartDocDlgW.
localspl: Add printer port redirection extension.
localspl: Fix parameters validation in FILE StartDocPort.
localspl: Add pipe port extension.
localspl: Add unixname port extension.
localspl: Add lpr port extension.
localspl: Add cups port extension.
localspl: Return error if cups port handle is used from different threads.
localspl: Fix error handling in ScheduleJob.
winspool: Use providor for print jobs implementation.
winspool: Use providor for WritePrinter implementation.
localspl: Fix error handling in printer_alloc_handle helper.
localspl: Preparation for using handle type specific structures.
localspl: Use separate structure to store XcvPort and XcvMonitor handles.
localspl: Use separate structure to store printserver handles.
localspl: Rename job_t structure to job_info_t.
localspl: Add support for Job handles.
localspl: Add ReadPrinter implementation.
winspool: Call providor in ReadPrinter implementation.
winprint: Fix parameters validation in EnumPrintProcessorDatatypesW.
winprint: Fix datatype validation in PrintDocumentOnPrintProcessor.
wineps: Add print processor stub.
localspl: Add support for Port handles.
localspl: Support Port handles in WritePrinter.
localspl: Partially support Port handles in StartDocPrinter.
localspl: Support Port handles in EndDocPrinter.
winspool: Implement print processor validation in AddPrinter.
localspl: Add AddPrintProcessor implementation.
winprint: Register winprint print processor.
localspl: Load printer datatype and print processor information on init.
localspl: Use helper for loading string from registry in monitor_load.
localspl: Store datatype in print job data.
localspl: Store default datatype in printer data.
localspl: Use print processor in ScheduleJob.
localspl: Add partial SeekPrinter implementation.
winspool: Add SeekPrinter implementation.
wineps: Add EnumPrintProcessorDatatypesW implementation.
wineps: Add OpenPrintProcessor implementation.
wine.inf: Also install wineps.drv to print processor directory.
wineps: Register print processor.
wineps: Improve PrintDocumentOnPrintProcessor stub.
wineps: Skip EMRI_METAFILE_DATA record silently.
wineps: Support parsing EMRI_METAFILE_EXT records.
msvcrt: Construct a real C++ object to test against.
msvcp70: Update spec file.

Robert Wilhelm (9):
vbscript: Accept private and public const global declarations.
wshom.ocx: Added WshNetwork class factory implementation.
wshom.ocx: Add IWshNetwork2 interface stub implementation.
wshom.ocx: Add WShNetwork object creation test.
vbscript: Handle "case" statements without separators.
wshom.ocx: Downgrade FIXME to WARN for unsupported interfaces.
wshom.ocx: Implement WshNetwork2_GetIDsOfNames.
wshom.ocx: Implement WshNetwork2_Invoke.
wshom.ocx: Implement IWshNetwork2_get_UserName().

Rémi Bernon (72):
maintainers: Take ownership of joy.cpl.
joy.cpl: Move constants and structures to main.c.
joy.cpl: Move ff_effects_callback function around.
joy.cpl: Use designated initializer to init effect params.
joy.cpl: Read the effect parameters instead of storing them.
joy.cpl: Read the effect DIEFFECTINFOW instead of storing it.
joy.cpl: Use a struct list to keep created device effects.
joy.cpl: Read the device instance name instead of storing it.
joy.cpl: Read the number of buttons instead of storing it.
joy.cpl: Read the device path property instead of storing it.
joy.cpl: Remove unnecessary joystick forcefeedback member.
joy.cpl: Avoid race condition when accessing selected effect.
ntdll: Keep the region base offset in the block header.
ntdll: Find heap block region from its base offset.
ntdll: Avoid clearing BLOCK_FLAG_USER_INFO in heap_reallocate.
ntdll: Stop locking heap to access block-local data.
ntdll: Inverse the control flow in heap_reallocate.
ntdll: Reallocate a new block if we failed to commit.
joy.cpl: Move the device effect list to static global scope.
joy.cpl: Use a struct list to keep created dinput devices.
joy.cpl: Always start input threads and remove num_ff member.
joy.cpl: Use a notification event rather than polling state.
joy.cpl: Reduce the button size on the device test tab.
joy.cpl: Merge the dinput test and force feedback tabs.
joy.cpl: Add DI_ prefix to dinput dialog constants.
joy.cpl: Use designated initializers in display_cpl_sheets.
joy.cpl: Build without NONAMELESSUNION.
joy.cpl: Add a new xinput controller test tab.
joy.cpl: Draw xinput controller state with gdi32.
joy.cpl: Add a checkbox to test xinput rumble.
joy.cpl: Draw dinput button state with gdi32.
joy.cpl: Draw dinput axes state with gdi32.
joy.cpl: Move dinput test tab logic to dinput.c.
joy.cpl: Remove unnecessary JoystickData structure.
ntdll: Merge next free block before resizing in heap_reallocate.
ntdll: Move large block resize in heap_reallocate.
ntdll: Return the old data size from heap_reallocate.
ntdll: Make realloc implementation more generic.
ntdll: Move large block alloc out of heap_allocate.
ntdll: Move large block free out of heap_free.
ntdll: Move delayed free support out of heap_free.
kernel32/tests: Make sure the LFH is enabled for some sizes.
kernel32/tests: Add more GlobalReAlloc tests with larger size.
kernelbase: Restore HEAP_REALLOC_IN_PLACE_ONLY usage in LocalReAlloc.
wmvcore: Move async reader from winegstreamer/wm_asyncreader.c.
wmvcore/tests: Test that a unique read thread is involved.
wmvcore/tests: Fix OnStreamSample stream number checks.
wmvcore/tests: Test OnTime callback events synchronously.
wmvcore/tests: Track and check last and next output pts.
wmvcore/tests: Test user time granularity and delivered pts.
wmvcore/tests: Test changing compressed samples dynamically.
taskschd: Use CRT functions for remaining heap allocations.
inetcomm: Allocate PROPVARIANT value with CoTaskMemAlloc.
inetcomm: Free IMoniker_GetDisplayName value with CoTaskMemFree.
mountmgr.sys: Allocate UNICODE_STRING buffers with RtlAllocateHeap.
advapi32/tests: Only free GetSecurityInfo pointer on success.
kernel32/tests: Avoid releasing invalid path pointer.
user32: Avoid freeing invalid pointers in WIN_CreateWindowEx.
inetcomm: Allocate PROPVARIANT memory with CoTaskMemAlloc.
ntdll: Split heap region memory allocation to allocate_region helper.
ntdll: Move heap allocation and initialization into RtlCreateHeap.
ntdll: Clear BLOCK_FLAG_PREV_FREE flag out of shrink_used_block.
ntdll: Split heap blocks before creating or resizing used block.
ntdll: Merge prev and next free heap blocks in heap_free_block.
ntdll: Split create_free_block into block_init_free / insert_free_block.
ntdll: Move the insertion of the first block out of create_subheap.
ntdll: Keep subheap parent heap pointer and check for mismatches.
mshtml: Fix realloc size vs element count mixup.
msvcrt: Use operator_delete to free _Condition_variable queue nodes.
mfplat: Clear the clsid pointer in MFTEnum to avoid invalid free.
opengl32: Avoid calling functions that have not been queried yet.
uxtheme: Use bsearch and CompareStringOrdinal in MSSTYLES_LookupProperty.

Sven Baars (6):
mmdevapi/tests: Mark some more capture tests as flaky.
win32u: Use WMCHAR_MAP_SENDMESSAGE for NtUserSendMessage.
mstask: Don't assume a ONCE trigger is on the current day.
win32u: Pass the client instance to NtUserCreateWindowEx.
taskschd/tests: Fix a test failure on w1064v1507.
taskschd/tests: Fix test failures on newer version of Windows 10.

Tim Clem (1):
winex11.drv: Don't ignore virtual EnterNotify events.

Torge Matthies (7):
msvcr100: Implement _StructuredTaskCollection::_RunAndWait.
msvcr100: Move exception_ptr functions to a separate file.
msvcr100: Factor out EXCEPTION_RECORD to exception_ptr conversion.
msvcr100: Implement exception passing from chore threads to _RunAndWait.
msvcr110: Implement _StructuredTaskCollection constructor.
msvcr100: Implement missing_wait exception.
msvcr120: Throw exception in ~_StructuredTaskCollection if _RunAndWait was not called.

Zebediah Figura (20):
wined3d: Use unsigned int for "refcount" variables.
wineusb.sys: Do not close the device handle more than once.
winspool: Define copy_file() only if CUPS is available.
wined3d: Trace the sampler desc in wined3d_sampler_init().
wined3d: Trace the created command stream in wined3d_cs_create().
wined3d: Make a couple of variables const.
d3d9/tests: Do not test the alpha channel in test_multisample_get_front_buffer_data().
ntdll: Trace the name of critical sections which are released while not acquired.
qasf/asfreader: Do not store the media type passed to IFileSourceFilter::Load().
qasf/tests: Expand the IFileSourceFilter tests.
wined3d: Allow exposing lower d3d feature levels from the Vulkan adapter.
wined3d: Allow creating a feature level 9.3 device even if custom vertex attribute divisors are not supported.
wined3d: Require independent blending to create a feature level 9.3 device.
wined3d: Implement multiple viewports for the Vulkan adapter.
wined3d: Require geometry shaders to create a feature level 10.0 device.
wined3d: Require tessellation shaders to create a feature level 11.0 device.
wined3d: Require texture cube array support to create a feature level 10.1 device.
wined3d: Require multiple indirect draw support to create a feature level 11.0 device.
wined3d: Require indirect draw first instance support to create a feature level 11.0 device.
wined3d: Require depth clip control to create a feature level 10.0 device.

Zhiyi Zhang (3):
winex11.drv: Support _KDE_NET_WM_STATE_SKIP_SWITCHER.
winex11.drv: Release window data before calling sync_window_cursor().
Revert "ntdll: Call usleep() instead of NtYieldExecution() in NtDelayExecution().".

Ziqing Hui (4):
wmvcore/tests: Test subtype and formattype for IWMMediaProps.
mf/tests: Test IMediaObject_SetInputType for WMV decoder.
winegstreamer: Add WMV support to wg_format.
winegstreamer: Implement media_object_SetInputType for WMV decoder.

Wine