Wine release 7.22
The Wine development release 7.22 is now available.
What's new in this release:
- 32-on-64 thunks for both Vulkan and OpenGL.
- OpenLDAP library bundled and built as PE.
- Support for the RAW print processor in WinPrint.
- More progress on the long types printf format conversion.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.22.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 7.22 (total 38):
- #41989 Musette crashes in winex11
- #45233 TIDAL installer can't launch installed program in 64bit WINEPREFIX
- #48053 kernel32:change fails randomly (and rarely) in Wine
- #49091 nProtect Anti-Virus/Spyware 4.0 'TKPcFtCb64.sys' crashes on unimplemented function 'ntoskrnl.exe.KeInitializeGuardedMutex'
- #49297 Spark AR studio installer fails to start:Spark AR Studio is not supported in this version of Windows. Please upgrade to Windows 10
- #50097 comctl32:monthcal fails on Wednesdays!!!
- #52511 Hemekonomi hangs on exit due to deadlock between loader_section and Win16 mutex
- #52872 vbscript: incorrect codepage handling in Asc/Chr, causing tests failures on Hindi locale
- #53130 ntdll:threadpool - test_tp_instance() fails (rarely) on Windows 8+
- #53131 ntdll:threadpool - test_tp_multi_wait() fails (rarely) in Wine
- #53266 Syberia: game crashes frequently
- #53268 urlmon:protocol - test_protocol_terminate() fails on Windows and Wine
- #53288 Application compiled with MSVC 2022 ASan does not start, needs QueryVirtualMemoryInformation
- #53296 USB Device Remover crashes on unimplemented function mscoree.dll.StrongNameTokenFromAssembly
- #53387 Vernier USB sensors are not usable in WINE
- #53402 fake dlls such as OPENGL32.dll won't load when their unix lib is linked by LLVM lld
- #53429 opengl32:opengl fails on Debian 11 + Intel GPU
- #53474 Change in memory handling gives crash in Framemaker 8
- #53529 Use wine with custom ld-linux.so.2 32-bit preloader, without hacks
- #53670 vbscript can not compile if expressions with reversed gte, lte, (=>, =<)
- #53677 invalid O_WRONLY read sets errno=EACCES instead of EBADF
- #53741 Gothic II: Night of the Raven (v2.7) fails to start (failure to load msdbi.dll)
- #53782 vbscript can not compile ReDim with list of variables
- #53807 vbscript fails to redim original array in function when passed byref
- #53867 vbscript fails to retrieve property array by index
- #53868 vbscript fails to return TypeName for VT_DISPATCH
- #53870 vkGetPhysicalDeviceSurfaceCapabilities2KHR passes invalid VkSurfaceKHR handle to driver
- #53873 vbscript fails to compile Else If when If is on same line
- #53909 opengl32.dll can't be loaded if win32u.so is not initialized first
- #53915 Pivot animator runs into assert
- #53919 crypt32:cert - testVerifyRevocation() uses an outdated certificate
- #53923 tools/makedep during wine-7.21 build segfaults
- #53930 Build broken with Clang in MSVC mode due to OpenLDAP import using getopt.h
- #53932 ntlm_auth was not found or is outdated.
- #53935 __unDName doesn't support 'G' and 'H' modifiers
- #53940 VARA window is black when launched from RMS Express
- #53954 Saints Row 2022 fails with Unimplemented function KERNEL32.dll.SetProcessInformation
- #53967 Running anything hangs on start up
----------------------------------------------------------------
Changes since 7.21:
Akihiro Sagawa (1):
include: Fix typo in IN4ADDR_LOOPBACK_INIT.
Alex Henrie (82):
include: Add IN4ADDR_*_INIT to mstcpip.h.
include: Add IN6ADDR_*_INIT to ws2ipdef.h.
ws2_32: Add in[46]addr_* constants to import library.
user32: Use standard C functions for memory allocation in combo.c.
include: Include limits.h in stdlib.h.
include: Add wspiapi.h.
comctl32: Fix memory leak on error path in EDIT_MakeUndoFit.
inetcomm: Use standard C functions for memory allocation in mimeole.c.
ole32: Correct warning message in composite_get_leftmost.
sspicli: Use standard C functions for memory allocation.
comdlg32: Use standard C functions for memory allocation in printdlg.c.
ole32: Fix memory leak on error path in CompositeMonikerImpl_CommonPrefixWith (Coverity).
dpnet: Use standard C functions for memory allocation in address.c.
localspl: Use the wcsdup function instead of reimplementing it.
d3dx9/tests: Use standard C functions for memory allocation in mesh.c.
httpapi: Use standard C functions for memory allocation.
msi/tests: Correct a couple of failure messages in test_msirecord.
msxml3: Remove unused function heap_strdupW.
dpnet: Use standard C functions for memory allocation in client.c.
dpnet: Use standard C functions for memory allocation in peer.c.
dpnet: Use standard C functions for memory allocation in server.c.
dpnet: Remove unused function heap_strdupW.
mstask: Use standard C functions for memory allocation in task.c.
ole32: Fix memory leak on error path in composite_get_(left|right)most (Coverity).
msado15: Use standard C functions for memory allocation in command.c.
msado15: Use standard C functions for memory allocation in connection.c.
msado15: Use standard C functions for memory allocation in recordset.c.
msado15: Use standard C functions for memory allocation in stream.c.
msado15: Remove unused functions heap_realloc_zero and strdupW.
inetcomm: Use standard C functions for memory allocation in protocol.c.
dinput/tests: Get rid of pDirectInputCreateEx.
oleaut32: Use standard C functions for memory allocation in olefont.c.
oledb32: Use standard C functions for memory allocation in datainit.c.
sapi: Use standard C functions for memory allocation in token.c.
schedsvc: Use standard C functions for memory allocation in atsvc.c.
schedsvc: Use standard C functions for memory allocation in schedsvc.c.
schedsvc: Remove unused function heap_strdupW.
spoolss: Use standard C functions for memory allocation in router.c.
jscript: Use standard C functions for memory allocation in dispex.c.
jscript: Use standard C functions for memory allocation in jscript.c.
jscript: Remove unused function heap_strdupW.
windowscodecs: Use standard C functions for memory allocation in metadataquery.c.
wldap32: Use the wcsdup function instead of reimplementing it.
winhttp: Use the wcsdup function instead of reimplementing it.
secur32: Use the wcsdup function instead of reimplementing it.
adsldp: Use standard C functions for memory allocation in adsldp.c.
oledb32: Handle memory allocation failure in rowpos_cp_Advise.
appwiz: Use standard C functions for memory allocation.
urlmon: Remove unused function heap_strdupWtoA.
mshtml: Handle realloc failure in add_func_info.
msxml3: Use standard C functions for memory allocation in saxreader.c.
dinput/tests: Avoid using GCC's typeof extension.
webservices: Remove unused function heap_realloc_zero.
dinput/tests: Put the calling convention inside the function pointer parentheses.
kernel32/tests: Avoid using GCC's typeof extension.
explorer: Put the calling convention inside the function pointer parentheses.
windows.media.speech: Put the calling convention inside the function pointer parentheses.
advapi32/tests: Avoid using GCC's typeof extension.
taskschd: Use standard C functions for memory allocation in folder_collection.c.
taskschd: Use standard C functions for memory allocation in regtask.c.
taskschd: Use standard C functions for memory allocation in task.c.
taskschd: Remove unused function heap_strdupW.
hhctrl: Handle memory allocation failure in GetChmString.
oledb32: Use standard C functions for memory allocation in rowpos.c.
shlwapi/tests: Use standard C functions for memory allocation in path.c.
oledlg: Use standard C functions for memory allocation in pastespl.c.
ucrtbase/tests: Put the calling convention inside the function pointer parentheses.
ieframe: Use standard C functions for memory allocation.
urlmon: Use standard C functions for memory allocation.
dnsapi: Use the strdup and wcsdup functions instead of reimplementing them.
pdh: Use standard C functions for memory allocation.
mshtml: Use standard C functions for memory allocation.
dmband: Don't force a calling convention on internal functions.
dmcompos: Don't force a calling convention on internal functions.
dmime: Don't force a calling convention on internal functions.
dmloader: Don't force a calling convention on internal functions.
dmscript: Don't force a calling convention on internal functions.
dmstyle: Don't force a calling convention on internal functions.
dmsynth: Don't force a calling convention on internal functions.
dmusic: Don't force a calling convention on internal functions.
wininet: Use standard C functions for memory allocation.
mshtml: Handle memory allocation failure in ConnectionPoint_Advise.
Alexandre Julliard (68):
winecrt0: Don't build with WINE_UNIX_LIB.
opengl32: Fix parsing of the DisabledExtensions option.
opengl32: Consistently use RtlSetLastWin32Error() everywhere.
win32u: Use RtlGetLastWin32Error() instead of GetLastError().
winex11: Use RtlGetLastWin32Error() instead of GetLastError().
winemac: Use RtlGetLastWin32Error() instead of GetLastError().
include: Disable some inline kernelbase functions when building Unix libraries.
configure: Don't use LDFLAGS to initialize PE flags.
wrc: Add support for named locales.
wmc: Add support for named locales.
configure: Skip the rest of the PE checks if the cross-compiler isn't detected.
ntdll: Use the unique id of the user locale for resource lookup.
include: Remove custom/undocumented language identifiers.
winegcc: Default to msvcrt mode for all PE builds.
winecrt0: Build without -DWINE_NO_LONG_TYPES.
opengl32: Build without -DWINE_NO_LONG_TYPES.
wineusb.sys: Build without -DWINE_NO_LONG_TYPES.
wineandroid: Build without -DWINE_NO_LONG_TYPES.
winemac: Build without -DWINE_NO_LONG_TYPES.
winex11: Fix int/long type mismatches.
winex11: Add a debug helper to print color values.
winex11: Use int instead of long types in a few places.
winex11: Build without -DWINE_NO_LONG_TYPES.
ntdll: Fix int/long type mismatches.
ntdll: Use UINT instead of ULONG in ioctl helpers.
ntdll: Use unsigned int instead of NTSTATUS in async callbacks.
ntdll: Use int instead of long types in a few places.
ntdll: Use unsigned int for the return value of server calls.
ntdll: Build the PE side without -DWINE_NO_LONG_TYPES.
ntdll: Build the Unix side without -DWINE_NO_LONG_TYPES.
ntdll: Always set WINELOADER variable to the current loader name.
ntdll: Always use the name of the current loader to exec a new process.
ntdll: Fall back to the current loader if the corresponding 32/64-bit loader isn't found.
configure: Don't rename the loader to wine64 for multi-arch builds.
makedep: Assume that all modules are built with msvcrt.
kernel32/tests: Don't filter out the WINELOADER variable.
win32: Fix int/long type mismatches.
win32u: Add a debug helper to print color values.
win32u: Use int instead of long types for font sizes and flags.
win32u: Use int instead of long types for monitor index and flags.
win32u: Use int instead of long types in a few places.
win32u: Build without -DWINE_NO_LONG_TYPES.
makedep: Unify the search for static and import libs.
makedep: Pass the actual name of the module in the delay load flags.
winecrt0: Add a helper function and macro to simplify Unix library usage.
winex11.drv: Use the Unix call helpers.
winemac.drv: Use the Unix call helpers.
wineandroid.drv: Use the Unix call helpers.
winealsa.drv: Use the Unix call helpers.
winecoreaudio.drv: Use the Unix call helpers.
wineoss.drv: Use the Unix call helpers.
winepulse.drv: Use the Unix call helpers.
mountmgr.sys: Use the Unix call helpers.
nsiproxy.sys: Use the Unix call helpers.
winebus.sys: Use the Unix call helpers.
wineusb.sys: Use the Unix call helpers.
bcrypt: Use the Unix call helpers.
crypt32: Use the Unix call helpers.
dwrite: Use the Unix call helpers.
kerberos: Use the Unix call helpers.
odbc32: Use the Unix call helpers.
opencl: Use the Unix call helpers.
opengl32: Use the Unix call helpers.
secur32: Use the Unix call helpers.
winegstreamer: Use the Unix call helpers.
winevulkan: Use the Unix call helpers.
ws2_32: Use the Unix call helpers.
winecrt0: Call __wine_unix_call through an explicit pointer in the helper macro.
Alexandros Frantzis (1):
winevulkan: Generate "in_ext" definition on demand.
Anton Baskanov (17):
wined3d: Introduce a new flag to indicate that indirect draws won't be used.
wined3d: Use the chunk allocator for GL element array buffers.
quartz/tests: Add tests for MPEG layer-3 decoder sink allocator.
quartz/tests: Add tests for MPEG layer-3 decoder output media type enumeration.
winegstreamer: Implement output media type enumeration in MPEG layer-3 decoder.
winegstreamer: Check whether transform is supported when creating MPEG layer-3 decoder.
quartz/tests: Add tests for MPEG layer-3 decoder source allocator.
winegstreamer: Set allocator properties for MPEG layer-3 decoder source.
winegstreamer: Hold the streaming lock while destroying wg_transform.
winegstreamer: Destroy the sample queue when stopping the quartz transform.
winegstreamer: Allocate at least 3 buffers for MPEG audio in quartz parser.
include: Add MFSampleExtension_Discontinuity to mfapi.h.
winegstreamer: Set the discontinuity flag in wg_transform.
wined3d: Factor out and expose functions to map/unmap wined3d_streaming_buffer.
ddraw: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
ddraw: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
wined3d: Add a lower size bound for the streaming buffer allocation.
Aric Stewart (1):
server: Take into account extra_size in get_rawinput_buffer.
Bartosz Kosiorek (12):
msvcrt: Add _scwprintf_l implementation.
msvcrt: Add _scwprintf_p_l implementation.
msvcrt: Add _scwprintf_p implementation.
msvcrt: Add _vcprintf_l implementation.
msvcrt: Add _vcwprintf_l implementation.
gdiplus: Add GdipSetCustomLineCapBaseCap implementation.
gdiplus: Remove not used LineCustomCap parameter.
gdiplus: Add GdipSetCustomLineCapBaseInset implementation.
gdiplus: Use GpPointF for drawing in widen_closed_figure.
gdiplus: Add support for widen path with GpCustomLineCap.
gdiplus: Fix shape of CustomLineCap created by GdipCreateAdjustableArrowCap.
gdiplus: Add GdipSetCustomLineCapStrokeCaps implementation and usage.
Bernhard Kölbl (1):
include: Add GUIDs for video decoder profiles.
Biswapriyo Nath (1):
include: Add Stg functions declaration in propvarutil.h.
Brendan Shanks (2):
configure: On macOS, build the loader targeting 10.7 when preloader is used.
ntdll: Add native thread renaming for macOS.
Connor McAdams (5):
uiautomationcore: Add UiaFind stub.
uiautomationcore: Partially implement UiaFind.
uiautomationcore: Add support for ExcludeRoot parameter in UiaFind.
uiautomationcore: Store traverse_uia_node_tree() results in a dynamic array.
uiautomationcore: Add support for returning multiple HUIANODEs from UiaFind.
Eric Pouech (27):
winedbg: Don't use invalid address mode in exception prolog.
cmd: Don't write outside of variable array.
kernel32/tests: Fix sporadic process test failure.
d3d11/tests: Introduce a clear_uav() helper.
d3dx9_36/tests: Introduce union to help passing float values in DWORD.
d3dx9_36/tests: Use correct integral type.
dbghelp: Fix handling of BA_OP_ChangeCodeLength (PDB).
dbghelp: Use same compiland's pathname as native (PDB).
dbghelp: Create a single compiland instance by name in PDB.
dbghelp: Function static variables should be found by address.
ntdll/tests: Adapt file tests on delete-on-close / delete disposition to Windows 10.
ntdll/tests: Fix share mode for some delete-on-close/delete disposition tests.
ntdll/tests: Extend file tests about delete-on-close and disposition.
dbghelp: Implement SymAddrIncludeInlineTrace().
dbghelp: Add partial implementation of SymQueryInlineTrace.
comctl32/tests: Fix monthcal selection tests.
ucrtbase: Extend ucrtbase's undname tests.
msvcrt: Rename modifier into qualifier.
ucrtbase: Handle undecoration of function's reference qualifiers (C++11).
dbghelp: Convert of couple more of string literals.
dbghelp: Search debug info files into local cache of debuginfod.
dbghelp: Locate alternate debug info files by their build id.
dbghelp: Fix typos in codeview_is_type_forward().
wined3d: Use long type for interlock variables/fields.
wined3d: Use pointer to non long integral type for some helpers.
wined3d: Change return value for *get_emul_mask() to unsigned int.
cmd: Use OEM code page when reading a file.
Erich Hoover (1):
ntdll: Add support for FreeBSD style extended attributes.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeQueryMaximumProcessorCount/Ex.
ntoskrnl.exe: Implement KeQueryActiveProcessorCount.
Evan Tang (2):
mshtml: Add tests for things removed in IE11.
mshtml: Hide things that were removed in IE11.
Fabian Maurer (1):
imm32: Prevent deadlock on unload.
Gabriel Ivăncescu (35):
mshtml/tests: Implement IServiceProvider and few other interfaces needed for navigation.
mshtml: Expose IEventTarget on HTMLDocumentObj and forward it to the doc node.
mshtml: Forward toString to the document node.
mshtml: Forward IDispatchEx to the document node.
mshtml: Handle cNames > 1 in GetIDsOfNames properly.
mshtml: Allow EVENT_BIND_TO_TARGET to bind to the window.
mshtml: Do not register Gecko load event handler twice.
mshtml: Dispatch Gecko events to the window if there's no node.
mshtml: Add visibilitychange event stub.
mshtml: Store the nsevent listener descs in a table.
mshtml: Implement pageshow event.
mshtml: Dispatch beforeunload event to the window.
mshtml: Implement unload event.
mshtml: Implement pagehide event.
jscript: Use CRT allocation functions.
mshtml: Fix performance variant leak.
mshtml: Link the performance.timing from the window at creation.
mshtml: Implement performance.timing.navigationStart.
mshtml: Implement performance.timing.redirectStart.
mshtml: Implement performance.timing.unloadEventStart & unloadEventEnd.
mshtml: Implement the remaining pre-response performance.timing props.
mshtml: Implement performance.timing.responseStart & responseEnd.
mshtml: Implement performance.timing.domLoading.
mshtml: Implement performance.timing.domInteractive.
mshtml: Implement performance.timing.domComplete.
mshtml: Implement performance.timing.domContentLoadedEventStart & End.
mshtml: Get rid of useless window check.
mshtml: Implement performance.timing.loadEventStart & loadEventEnd.
mshtml: Implement performance.timing.msFirstPaint.
jscript: Initialize source and lastIndex for RegExp.prototype.
jscript: Pass a jsval as the 'this' to jsdisp_call_value.
jscript: Pass a jsval as the 'this' to disp_call_value.
jscript: Pass correct 'this' to callbacks called by builtins.
jscript: Throw proper error when calling Map constructor as method.
jscript: Throw proper error when calling Set constructor as method.
Georg Lehmann (2):
winevulkan: Convert unions when nessecary.
winevulkan: Update to VK spec version 1.3.235.
Gerald Pfeifer (2):
msado15: Avoid uninitialized variable warning in fields_get_Item.
ntdll: Make init_builtin_dll return a value on FreeBSD.
Hans Leidekker (11):
crypt32/tests: Remove OCSP revoked cert test.
libs: Import code from upstream openldap 2.5.13.
wldap32/tests: Get rid of workarounds for old Windows versions.
wldap32/tests: Switch to db.debian.org.
wldap32: Get rid of the function documentation.
wldap32: Add a prefix to functions that conflict with OpenLDAP exports.
wldap32: Add a prefix to definitions that conflict with OpenLDAP headers.
wldap32: Use the bundled liblber and libldap.
ldap: Don't depend on the getopt.h header.
ldap: Mark ldap_int_destroy_global_options() as a destructor when building with Clang.
msv1_0: Drop the ntlm_auth version check.
Ivo Ivanov (8):
dinput: Prevent a potential array overflow error during the conversion from spherical to Cartesian coordinates.
dinput: Remove redundant physical range values.
windows.gaming.input: Add gain of 1.0 to the initialization params of (Constant|Ramp)Effect's SetParameters.
dinput: Always send both "Type Specific" and "Set Effect" reports on initial Download.
windows.gaming.input: Implement IForceFeedbackMotor_get_SupportedAxes.
dinput/tests: Reduce the available FFB axes to X and Y in test_windows_gaming_input.
windows.gaming.input: Implement the number of FFB axes according to the SupportedAxes property.
windows.gaming.input: Assume that joysticks with single FFB axis are racing wheels.
Jacek Caban (18):
winevulkan: Don't try to convert ignored VkWriteDescriptorSet members.
winevulkan: Move need for output member copy check to needs_conversion.
winevulkan: Align conversion_context_alloc result.
winevulkan: Convert all 32-bit structs containing pNext pointer.
winevulkan: Convert all 32-bit structs containing pointer or pointer-size members.
winevulkan: Convert dispatchable handle arrays in 32-bit thunks.
winevulkan: Convert pointers to pointer-sized variables in 32-bit thunks.
winevulkan: Convert dispatchable handle array struct members.
winevulkan: Introduce find_next_struct32.
winevulkan: Use PTR32 for pointer-size variables in 32-bit structs.
winevulkan: Always convert 32-bit pointer arrays.
winevulkan: Use separated implementations for all 32-bit Unix calls.
winevulkan: Add __wine_unix_call_wow64_funcs support.
winevulkan: Never copy pNext pointer in 32-bit struct conversion functions.
winevulkan: Return error if vkMapMemory would truncate pointer on wow64.
win32u: Remove __wine_get_wgl_driver PE entry point.
win32u: Don't use CDECL for __wine_get_wgl_driver.
winevulkan: Don't try to convert unions without selectors.
Jason Millard (3):
vbscript: Add support for VT_DISPATCH in Global_TypeName.
vbscript: Update parser to allow statements after ELSE without new line.
vbscript: Add support for redim byref.
Jinoh Kang (1):
ntdll: Use an acquire/release pair on the IOSB status.
Martin Storsjö (1):
ntdll: Avoid accidentally picking up ntdll's __wine_unix_call_funcs for other DLLs.
Matthew Tran (7):
dinput/tests: Add more tests for HidP_SetUsageValue.
dinput/tests: Fix incorrect HID STRING_INDEX tag value.
hidparse.sys: Fix incorrect HID STRING_INDEX tag value.
ntoskrnl.exe/tests: Fix incorrect HID STRING_INDEX tag value.
winebus.sys: Fix incorrect HID STRING_INDEX tag value.
winexinput.sys: Fix incorrect HID STRING_INDEX tag value.
hid: Fix HidP_(Get|Set)(Scaled)UsageValue with usage ranges and arrays.
Mohamad Al-Jaf (15):
mscoree: Add StrongNameTokenFromAssembly stub.
dbghelp: Add SymAddrIncludeInlineTrace stub.
include/windowscontracts: Bump contractversion to 14.
windows.media: Add stub DLL.
windows.media: Stub IClosedCaptionPropertiesStatics interface.
windows.media/tests: Add Closed Caption Properties tests.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontOpacity.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontSize.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontStyle.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontEffect.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundOpacity.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionOpacity.
Nikolay Sivov (36):
d3drm: Use CRT allocation functions.
d3drm/tests: Use CRT allocation functions.
vbscript: Use CRT allocation functions.
d3dx9: Add missing path conversion call in D3DXLoadVolumeFromFileA().
d2d1: Silently ignore non-default state block implementations.
vbscript: Implement FormatCurrency().
vbscript: Implement FormatPercent().
vbscript: Implement FormatDateTime().
vbscript: Implement FormatNumber().
oleaut32/tests: Add a test for VT_NULL input for VarFormatDateTime().
d2d1: Derive shared bitmap format from the source bitmap.
d2d1/tests: Use d2d error code name for unsupported pixel format error code.
vbscript: Handle index read access to array properties.
ntdll: Do not set system locales that resolve to custom-unspecified.
xmllite/writer: Handle surrogate pairs.
xmllite/reader: Use consistent formatting for traces.
kernelbase: Add SetProcessInformation().
comctl32/animate: Use CRT allocation functions.
comctl32/pager: Use CRT allocation functions.
comctl32/updown: Use CRT allocation functions.
comctl32/treeview: Use CRT allocation functions.
comctl32/progress: Use CRT allocation functions.
comctl32/ipaddress: Use CRT allocation functions.
comctl32/hotkey: Use CRT allocation functions.
vbscript: Handle CP_UTF8 in Chr()/Asc().
ntdll: Use system language as preferred, if user language is custom-unspecified.
kernelbase: Forward SetThreadIdealProcessor() to ntdll.
kernel32/tests: Remove workarounds for SetThreadIdealProcessor().
kernelbase: Forward thread priority boost functions to ntdll.
kernelbase: Forward GetThreadIdealProcessorEx() to ntdll.
vbscript: Fix a typo in variable name in LBound().
vbscript/tests: Fix redim tests.
oleaut32/safearray: Fix an error code when trying to redim fixed arrays.
kernel32/profile: Trim spaces from section names on load.
vbscript/tests: Add some tests for lte/gte tokens.
vbscript: Accept "><" as inequality operator.
Paul Gofman (17):
winhttp: Always send Content-length with PUT.
ws2_32: Return success for setting SO_ERROR.
xinputuap.dll: Add new dll.
wmic: Don't set WBEM_FLAG_FORWARD_ONLY flag on query.
wmic: Call _BeginEnumeration() before iterating class object.
wmic: Handle VariantChangeType() failures.
wmic: Add nicconfig alias.
wmic: Support array of BSTRs in convert_to_bstr().
winhttp: Add reference counting for connection.
winhttp/tests: Avoid race condition on closing connection in server_thread().
winhttp: Send connection close notifications in finished_reading().
winhttp: Store connection in websocket.
winhttp: Move flags to websocket header.
winhttp: Move read buffer to websocket.
winhttp: Do not reference request from socket.
winhttp: Set name resolution timeout in download_script().
winhttp: Cache script in download_script().
Piotr Caban (16):
winspool.drv: Use CRT allocation functions.
localspl: Use wcslen instead of lstrlenW.
localspl: Use CRT allocation functions.
winspool: Remove strdupW helper.
winspool: Allow specifying out buffer in DEVMODEdupWtoA.
winspool: Use GetJobW in GetJobA implementation.
winprint: Add stub dll.
winprint: Implement RAW print processor.
gdi32: Don't crash in StartDoc on NULL DOCINFO.
gdi32: Get printer output file name in StartDoc.
winspool: Correctly free data allocated with GdiConvertToDevmodeW.
localspl: Run AddPortEx tests when InitializePrintMonitor2 is used.
localspl: Run EnumPorts tests when InitializePrintMonitor2 is used.
localspl: Run OpenPort tests when InitializePrintMonitor2 is used.
localspl: Remove unused OpenPortEx function pointers.
localspl: Run XcvOpenPort tests when InitializePrintMonitor2 is used.
Robert Wilhelm (1):
vbscript: Handle another variant of LTE/GTE tokens.
Rémi Bernon (52):
server: Remove no-op raw_msg.foreground release.
ntdll: Delay loading unixlibs until the functions are requested.
user32: Move touch related functions to input.c.
user32: Add GetPointerTouchInfo(History) stubs.
kernel32: Validate pointer before calling HeapSize.
kernel32: Lock heap and validate pointer in LocalHandle.
kernelbase: Validate pointers before calling heap functions.
ntdll: Cleanup heap block macro definitions.
opengl32: Generate wow64 thunks.
opengl32: Manually write glPathGlyphIndexRangeNV wow64 thunk.
opengl32: Implement wow64 thunk for wglGetProcAddress.
opengl32: Implement wow64 thunk for wglMakeCurrent (et al.).
opengl32: Implement wow64 thunk for wglCreateContextAttribsARB.
opengl32: Implement wow64 thunk for wglCreatePbufferARB.
opengl32: Implement wow64 thunk for wglGetPbufferDCARB.
opengl32: Implement wow64 thunks for input pointer arrays.
opengl32: Implement wow64 thunks for glFenceSync (et al.).
dwrite: Avoid memcpy source overflow in GetFontAxisValues.
opengl32: Implement wow64 thunk for glGetString (et al.).
opengl32: Use manual win32 thunks for glMapBuffer (et al.).
opengl32: Implement wow64 thunks for glMapBuffer (et al.).
opengl32: Cast wow64 pointers in glGet(VertexAttrib)Pointerv.
opengl32: Use the +opengl debug channel everywhere.
dinput/tests: Add more HidP_(Set|Get)UsageValue tests with array caps.
hid: Move (get|set)_usage_value around and use it for scaled values.
hidclass.sys: Add more trace messages.
winebus.sys: Add more trace messages.
server: Set missing error status for get_process_image_name.
kernel32/tests: Add more (Global|Local)ReAlloc tests.
comdlg32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
ole32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
riched20: Call GlobalReAlloc with GMEM_MOVEABLE flag.
winemac.drv: Call GlobalReAlloc with GMEM_MOVEABLE flag.
user32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
kernelbase: Don't try in-place HeapReAlloc in LocalReAlloc.
kernelbase: Handle LMEM_MODIFY flag first in LocalReAlloc.
kernelbase: Handle LMEM_DISCARDABLE flag specifically in LocalReAlloc.
kernelbase: Avoid moving locked HLOCAL pointer without LMEM_MOVEABLE.
kernel32: Return success from GlobalReAlloc with locked HGLOBAL pointer.
kernelbase: Only discard HLOCAL with LMEM_MOVEABLE and if not locked.
rpcss: Use I_Rpc(Free|Allocate) in MIDL_user_(allocate|free).
winex11.drv: Reposition windows on desktop resize only when useful.
ntdll: Rename heap block ALIGNMENT macro to BLOCK_ALIGN.
ntdll: Use BLOCK_FLAG_LARGE rather than subheap pointer.
ntdll: Compute effective flags in unsafe_heap_from_handle.
ntdll: Compute block size before calling heap_(re)allocate.
ntdll: Pass a heap block pointer to initialize_block.
dinput/tests: Test zero-ed force feedback effect parameters.
windows.gaming.input: Set initial effect parameters within the CS.
appwiz.cpl: Free wine_get_dos_file_name memory with HeapFree.
mshtml: Free wine_get_dos_file_name memory with HeapFree.
winepath: Free wine_get_(dos|unix)_file_name memory with HeapFree.
Santino Mazza (5):
kernel32: Forward CreateFileMappingFromApp kernel32 to kernelbase.
kernel32: Forward MapViewOfFileFromApp kernel32 to kernelbase.
kernelbase: Create GetGeoInfoEx stub.
kernel32/tests: Test for GetGeoInfoEx.
kernelbase: Implement GetGeoInfoEx.
Sven Baars (7):
ntdll/tests: Add some Software\Classes subkey tests.
server: Recursively obtain the Wow6432Node parent.
ntdll/tests: Test that NtCreateKeyEx() also recursively obtains the Wow6432Node parent.
ntdll/tests: Add some some Software\Classes query and enumerate tests.
server: Don't return the actual 32-bit Software\Classes key.
ntdll/tests: Factor out the NtEnumerateKey() tests.
ntdll/tests: Refactor the Software\Classes tests.
Tim Clem (1):
winspool.drv: Ignore input in DocumentPropertiesA unless DM_IN_BUFFER is passed.
Zebediah Figura (16):
ntdll: Make the "not found" trace in nt_to_unix_file_name_no_root() less misleading.
setupapi/tests: Add more tests for buffer size handling in SetupDiGetDeviceInterfaceDetail().
setupapi: Correctly calculate the required size in SetupDiGetDeviceInterfaceDetailA().
setupapi: Fill the required size in SetupDiGetDeviceInterfaceDetail() also on success.
ntoskrnl/tests: Test retrieving SPDRP_CONFIGFLAGS.
setupapi: Set SPDRP_CONFIGFLAGS in SetupDiInstallDevice().
ntoskrnl: Set SPDRP_CONFIGFLAGS in install_device_driver().
d3dcompiler: Print message output with ERR() in D3DCompile2().
d3dcompiler: Print message output with ERR() in D3DPreprocess().
winex11: Print a winediag err if XComposite is missing.
configure: Override PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH for 32-bit builds on 64-bit hosts.
quartz: Use a single message thread for all filter graphs.
ntdll: Add a get_free_list_block_size() helper.
ntdll: Always trace sizes with %#x.
ntdll: Avoid casting a struct to its first field.
ntdll: Remove an unnecessary cast.
Zhiyi Zhang (4):
dwmapi: Fallback to 60Hz if the display frequency is invalid in get_display_frequency().
explorer/tests: Add taskbar tests.
explorer: Use a valid taskbar position when the taskbar is hidden.
win32u: Fix a memory leak.
Ziqing Hui (6):
wmvcore/tests: Add tests for IWMProfile_GetStreamByNumber.
winegstreamer: Implement profile_GetStreamByNumber.
mf/tests: Test IMediaObject_GetStreamCount for WMV decoder.
winegstreamer: Implement media_object_GetStreamCount for WMV decoder.
mf/tests: Test IMediaObject_GetInputType for WMV decoder.
winegstreamer: Implement media_object_GetInputType for WMV decoder.
Alexandre Julliard has announced the release of a new Wine development release with 32-on-64 thunks for both Vulkan and OpenGL, OpenLDAP library bundled and built as PE, support for the RAW print processor in WinPrint, more progress on the long types printf format conversion, and various bug fixes.