The Wine development release 8.2 is now available.
What's new in this release:
- Better debug information in Wow64 mode.
- Wow64 thunks in the WPCAP library.
- Indeo IV50 codec support.
- Monitor names set from EDID data.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.2.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.2 (total 22):
- #48528 The Void crashes with builtin d3dx9_36 (needs D3DXFillCubeTextureTX() to return S_OK)
- #51345 Regression: Visual Studio 2005 "package load failure"
- #51545 STDOUT lost from a forked program on Cygwin/MSYS2
- #53747 SubLab VST3 plugin fails to register (needs Windows.System.Profile.SystemManufacturers.SmbiosInformation)
- #53926 New typelib marshaller depends on IID_IDispatch support from target interface
- #54103 opengl32:opengl - test_copy_context() crashes on w11pro64_nv
- #54150 d3dcompiler_43:hlsl_d3d11 & d3dcompiler_47:hlsl_d3d11 - test_trig() fails on w11pro64_nv
- #54234 vbscript fails to compile when colon follows Else in If...Else
- #54318 Rich Edit inserts newly composed text at wrong position when system IME composition ends while a selection is active
- #54371 loader won't launch from PATH unless named "wine"
- #54384 GOG Heroes of Might and Magic IV crashes on launch
- #54431 Switching active window (alt+tab or otherwise) away from Final Fantasy XI causes keyboard keys to remain pressed
- #54456 vbscript memory leak in For Each with SafeArray as group
- #54457 vbscript memory leaks in interp_redim_preserve
- #54458 vbscript memory leaks in Global_Split
- #54463 Wrong version value is returned from win32_operatingsystem on win10 (regression)
- #54465 dbghelp:dbghelp - The 64-bit test_modules() fails on Windows 7
- #54477 user32:msg - test_message_conversion()'s broadcast test fails on Windows 7 and 10
- #54486 getenv_s returns the wrong value
- #54489 VarAbs() does not handle BSTR arguments correctly
- #54490 vbscript fails to compile when statement follows ElseIf
- #54493 vbscript fails to compile concat when used without space and expression begins with H
----------------------------------------------------------------
Changes since 8.1:
Alex Henrie (23):
msi: Handle memory allocation failure in get_link_file (cppcheck).
setupapi: Fix memory leak on realloc failure in RetreiveFileSecurity.
combase: Avoid calling RtlInitUnicodeString on a static constant.
nsiproxy: Avoid calling RtlInitUnicodeString on a static constant.
winhlp32: Fix memory leak on realloc failure in HLPFILE_RtfAddBitmap (cppcheck).
ole32: Avoid calling RtlInitUnicodeString on a static constant.
httpapi: Avoid calling RtlInitUnicodeString on a static constant.
msi: Annotate memory allocation functions with __WINE_(DEALLOC|MALLOC).
http: Avoid calling RtlInitUnicodeString on a constant.
services: Avoid calling RtlInitUnicodeString on a static constant.
winebus: Avoid calling RtlInitUnicodeString on a static constant.
mountmgr: Avoid calling RtlInitUnicodeString on a static constant.
win32u: Avoid calling RtlInitUnicodeString on a static constant.
wineboot: Avoid calling RtlInitUnicodeString on a static constant.
ws2_32: Avoid calling RtlInitUnicodeString on a static constant.
ntdll: Use RTL_CONSTANT_STRING instead of reimplementing it.
ntdll: Avoid calling RtlInit(Ansi|Unicode)String on a static constant.
winspool: Remove unnecessary call to RtlInitUnicodeString from add_printer_driver.
krnl386: Avoid calling RtlInitUnicodeString on a static constant.
wow64: Avoid calling RtlInitUnicodeString on a static constant.
kernelbase: Avoid calling RtlInitUnicodeString on a static constant.
ntoskrnl: Avoid calling RtlInitUnicodeString on a static constant.
winspool: Initialize nt_ppd in add_printer_driver.
Alexandre Julliard (25):
winedump: Print more information from the PE Load Config directory.
winedump: Initial support for dumping PE dynamic relocations.
gitlab: Force updating configure.
wow64: Move some exception and context functions to syscall.c.
wow64: Preserve the CPURESERVED flags across user callbacks.
wow64: Call the CPU backend to get/set the current thread context.
wow64: Call the thread init entry point in the CPU backend.
ntdll: Use the standard unixlib macro for Unix calls.
ntdll: Store the unixlib handle at ntdll load time.
ntdll: Replace the __wine_dbg_write() syscall by a Unix call.
ntdll: Replace the __wine_unix_spawnvp() syscall by a Unix call.
ntdll: Replace the wine_server_call() syscall by a Unix call.
ntdll: Replace the wine_server_fd_to_handle() syscall by a Unix call.
ntdll: Replace the wine_server_handle_to_fd() syscall by a Unix call.
winedump: Dump the alternate version of some data directories for hybrid PE dlls.
winedump: Dump the metadata of hybrid PE dlls.
browseui: Use standard va_list instead of __ms_va_list.
comdlg32: Use standard va_list instead of __ms_va_list.
cryptui: Use standard va_list instead of __ms_va_list.
dxdiagn: Use standard va_list instead of __ms_va_list.
oledlg: Use standard va_list instead of __ms_va_list.
setupapi: Use standard va_list instead of __ms_va_list.
wineusb.sys: Use standard va_list instead of __ms_va_list.
ntdll: Consistently initialize x86-64 signal handlers.
ntdll: Avoid a misleading indentation warning.
Alistair Leslie-Hughes (5):
odbccp32: Append DLL path when loading driver.
include: Add missing SQL prototype.
msdasql: Use SQLDriverConnectW to connect to the ODBC driver.
msdasql: Always return affected rows if required.
msdasql: Use SQLColAttributesW to fetch statement attributes.
André Zwing (1):
maintainers: Remove myself as maintainer of wpcap.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (9):
kernelbase: Implement QueryInterruptTime.
kernelbase: Partially implement QueryInterruptTimePrecise.
loader: In macOS preloader, fix an environment variable sometimes being lost.
ntdll/tests: Test NtMapViewOfSection with a 64-bit DLL and zero_bits > 31.
ntdll: Respect zero_bits/limit when mapping a PE file.
include: Add __ASM_LOCAL_LABEL macro.
ntdll: Use __ASM_LOCAL_LABEL in syscall dispatchers.
server: On macOS, fake debug registers when running under Rosetta.
ntdll: Add a WARN when setting debug registers fails under Rosetta.
Connor McAdams (13):
include: Fully define uiautomationclient interfaces.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Event GUIDs.
include: Define UI Automation pattern provider interfaces.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Pattern GUIDs.
uiautomationcore: Add UiaRaiseStructureChangedEvent stub.
uiautomationcore: Add UiaRaiseAsyncContentLoadedEvent stub.
uiautomationcore: Add UiaRaiseTextEditTextChangedEvent stub.
uiautomationcore: Add UiaRaiseNotificationEvent stub.
uiautomationcore: Add UiaRaiseChangesEvent stub.
uiautomationcore: Add support for UIA_BoundingRectanglePropertyId.
uiautomationcore: Add support for UIA_ValueIsReadOnlyPropertyId.
uiautomationcore: Implement get_BoundingRectangle for MSAA providers.
uiautomationcore: Add support for UIA_NamePropertyId to MSAA providers.
Dmitry Timoshkov (2):
rpcrt4: Mark the buffer as invalid in NdrProxyFreeBuffer().
rpcrt4: Avoid casting an object to IUnknown.
Eric Pouech (40):
conhost: Only update font when running with a window.
dbghelp: Stop unwinding on potential 64bit frame for i386 cpu.
dbghelp: Add tests about modules loading.
dbghelp: Allow loading modules for different machines.
dbghelp: Filter on machine when searching for Wine system PE modules.
winedbg: Handle multi-machine process in command 'info share'.
winedbg: Don't expose module whose machine isn't the process' one to gdb.
dbghelp: Identify a 32bit multi-arch wow64 debuggee as a live target.
winedump: Introduce ability to pass several section names to -j option.
winedump: Refactor PDB DBI per-module dump in a dedicated function.
winedump: Make use of -j option in PDB dumping.
winedump: Dump some more MSF related information.
winedump: Load once and store global PDB string table.
winedump: Enhance dumping of string tables.
winedump: Dump some more bits out of public stream.
dbghelp: Fix failing test on Windows 7.
include: Add manifest constants for EnumProcessModulesEx.
psapi: Let modules test pass on non wow64 compatible platforms.
psapi: Add tests for EnumProcessModulesEx().
kernelbase: Implement EnumProcessModulesEx.
kernelbase: Let GetModuleBaseName succeed on 64bit modules in wow64.
kernelbase: Let GetModuleFileNameEx succeed on 64bit modules in wow64.
kernelbase: Let GetModuleInformation succeed on 64bit modules in wow64.
riched20/tests: Add tests when pasting in plain text mode.
riched20: Support SFF_SELECTION when streaming in plain text.
riched20/tests: Ensure clipboard has been pasted before testing the result.
riched20/tests: Add retry loop around OpenClipboard() to avoid access denial.
psapi/tests: Test directory of enumerated loaded modules.
dbgeng: Use EnumProcessModulesEx().
dbghelp: Use EnumProcessModulesEx().
psapi: Add more tests for EnumProcessModules().
kernelbase: Re-implement EnumProcessModules on top of EnumProcessModulesEx.
dbghelp/tests: Test return value of SymLoadModule.
dbghelp/tests: Add tests for 'module' name in EnumLoadedModules() callback.
dbghelp: Let EnumerateLoadedModules() expose image names.
dbghelp/tests: Add test for loaded modules enumeration.
dbghelp/tests: Add some more tests about module handling.
dbghelp: Add new module at end of the process' modules list.
dbghelp: Unload overlapping modules in SymLoadModule*().
ntdll: Implement RtlAddressInSectionTable.
François Gouget (22):
winetest: Don't use plain strings as format specifiers.
winetest: Avoid an infinite loop in vstrfmtmake() when the format is NULL.
d3dcompiler/tests: Allow more imprecision in test_trig() for NVIDIA.
crypt32/tests: Fix a typo in a comment.
dbghelp: Fix a typo in a comment.
kernel32/tests: Fix a typo in a comment.
spoolss/tests: Fix a typo in a comment.
uiautomationcore: Fix a typo in a FIXME() message.
winegstreamer: Fix a typo in a comment.
winevulkan: Fix a typo in a comment.
winex11.drv: Fix a typo in a comment.
winevulkan: Add a trailing linefeed to some FIXME() thunk messages.
dpnet/tests: Fix the unexpected async handle traces.
atl100/tests: Trace GetLastError() when DeleteFile() fails.
riched20/tests: Check clipboard content after destroying the editor window.
riched20/tests: Add context to the EM_FORMATRANGE tests.
winetest: Trace the keyboard layout.
user32/tests: Fix the ToAscii(A) test on Hindi + UTF-8.
user32/tests: Show ToAscii(A) returns 'a' for multiple keyboard layouts.
ntdll/tests: Test the thread pool stack APIs.
ntdll: Use the thread pool stack information.
ws2_32: Warn that a libnss plugin may be missing if getaddrinfo() returns EBUSY.
Gabriel Ivăncescu (1):
kernelbase: Fix grouping repeat for number formatting.
Giovanni Mascellani (1):
wbemprox: Do not call Release() inside wbemprox_cf_CreateInstance().
Hans Leidekker (14):
ntdll: Initialize PEB version numbers with Windows 10 values.
ntdll: Look at CurrentMajor/MinorVersionNumber registry values before CurrentVersion.
configure: Check for pcap_init() instead of pcap_create().
wpcap: Sync spec file with latest version of libpcap.
wpcap: Make Unix call parameters wow64 compatible.
wpcap: Fix an off-by-one error in convert_length_to_ipv6_mask().
wpcap: Implement pcap_bufsize().
wpcap: Implement pcap_dump_close().
wpcap: Implement pcap_init().
wpcap: Reimplement pcap_loop() on top of pcap_next_ex().
wpcap: Enable UTF-8 encoding in libpcap.
wpcap: Add wow64 thunks.
wpcap: Try to enable 32-bit mmap() support in libpcap.
wpcap/tests: Initial tests.
Huw D. M. Davies (1):
rpcrt4/tests: Remove a failing test.
Ivan Chikish (3):
winegstreamer: Add missing *out=NULL in unknown_inner_QueryInterface.
wmvcore: Add missing *out=NULL in WMReader_QueryInterface.
wmvcore/tests: Check out value for NULL in check_interface.
Jacek Caban (2):
wininet/tests: Add more InternetSetFilePointer tests.
oleaut32: Remove overflow check for VT_R4 and VT_R8 in VarAbs.
Jason Kuo (2):
wininet: Partially implement InternetSetFilePointer.
wininet/tests: Add InternetSetFilePointer tests.
Jason Millard (8):
vbscript: Fix memory leak in Split().
vbscript: Fix memory leak in Split().
vbscript: Add missing stubs for GetLocale and SetLocale builtins.
vbscript: Fix compile when colon follows Else on new line.
vbscript: Fix memory leak in owned safearray iterator.
oleaut32: Fix VarAbs function for BSTR with positive values.
vbscript: Fix compile when statement after ElseIf or after separator.
vbscript: Fix compile issue with non hex after concat without space.
Jinoh Kang (2):
ntdll/tests: Update test_RtlUniform to match Windows Vista or later.
ntdll: Fix integer overflow in RtlUniform.
Max Figura (5):
wined3d: Move the WINED3D_RS_ANTIALIAS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_TEXTUREPERSPECTIVE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAPU stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAPV stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MONOENABLE stub to wined3d_device_apply_stateblock.
Michael Stefaniuc (3):
mshtml/tests: Actually test a return value.
d3d11/tests: Actually test the return of CreateRasterizerState().
ntdll/tests: Remove some Vista broken broken(<constant>) calls.
Mohamad Al-Jaf (9):
include: Add realtimeapiset.h file.
kernelbase: Partially implement QueryUnbiasedInterruptTimePrecise.
include: Add DirectX 12 Agility SDK definitions.
d3d12core: Add stub DLL.
include: Add windows.ui.viewmanagement.idl file.
windows.ui: Add stub DLL.
windows.ui: Add IUISettings3 stub interface.
windows.ui/tests: Add IUISettings3::GetColorValue() tests.
windows.ui: Implement IUISettings3::GetColorValue().
Nikolay Sivov (1):
apisetschema: Add ext-ms-win-networking-wlanapi-l1-1-0.
Paul Gofman (17):
winegstreamer: Implement _GetInputStatus() for h264 decoder transform.
winegstreamer: Implement _GetInputStatus() for aac decoder transform.
winegstreamer: Set MF_SA_D3D11_AWARE attribute for h264 transform.
mf/session: Avoid dropping samples delivered from transform in session_request_sample_from_node().
bcrypt/tests: Add more tests for AES initialization vectors.
bcrypt: Update init vector after encrypt or decrypt.
bcrypt: Only reset init vector if the new vector is non-NULL.
imm32: Disable cross thread access for ImmSetCompositionString().
win32u: Remove monitor name from gdi driver monitor info.
win32u: Use monitor ID from EDID when available.
win32u: Store EDID info in monitors cache.
win32u: Return edidManufactureId and edidProductCodeId from NtUserDisplayConfigGetDeviceInfo().
win32u: Get friendly monitor name from EDID in NtUserDisplayConfigGetDeviceInfo().
winegstreamer: Route MFAudioFormat_RAW_AAC to mf_media_type_to_wg_format_audio_mpeg4().
winegstreamer: Fix getting codec data for raw aac.
winegstreamer: Use default 0 for _AAC_PAYLOAD_TYPE if not set.
mf/tests: Add basic tests for raw aac decode.
Piotr Caban (4):
msvcrt: Don't crash on NULL argument in getenv.
msvcrt: Don't crash on NULL argument in _wgetenv.
msvcrt: Improve error handling in getenv_s.
msvcrt: Improve error handling in _wgetenv_s.
Rémi Bernon (27):
include: Add new kbd.h header with KBDTABLES definition.
win32u: Use KBDTABLES for default NtUserGetKeyNameText.
include: Add VSC_VK constants definitions to kbd.h.
win32u: Use KBDTABLES for NtUserMapVirtualKeyEx VSC / VK mapping.
include: Add VK_TO_WCHARS constants definitions to kbd.h.
win32u: Use KBDTABLES for NtUserMapVirtualKeyEx MAP_VK_TO_CHAR.
win32u: Use KBDTABLES for NtUserVkKeyScanEx.
win32u: Use KBDTABLES for NtUserToUnicodeEx.
joy.cpl: Process messages while waiting for the input threads.
joy.cpl: Refresh the DInput button display on device change.
joy.cpl: Improve the DInput button display with many buttons.
joy.cpl: Use the DIJOYSTATE2 user data format to support more buttons.
winebuild: Use .incbin instead of printf for resource data.
dinput: Split dinput_unacquire_window_devices helper.
dinput: Name input thread message and wparam values.
dinput: Use a WH_CBT hook instead of WH_CALLWNDPROC.
dinput: Introduce keyboard_handle_key_event helper.
dinput: Avoid entering the hook CS in input_thread_ll_hook_proc.
dinput: Merge mouse and rawmouse acquired lists.
dinput: Merge all acquired device lists together.
dinput: Use rawinput interface for keyboard device.
include: Move ddk/imm.h to immdev.h.
include: Fix ImeInquire declaration.
include: Fix ImeToAsciiEx declaration.
include: Add Imm(Get|Set)HotKey declarations.
dinput: Forbid acquiring for other process windows.
dinput: Hook window threads instead of the entire prefix.
Shaun Ren (10):
ir50_32: Add stub dll.
ir50_32: Implement IV50_GetInfo.
ir50_32: Implement IV50_DecompressQuery.
ir50_32: Implement IV50_DecompressGetFormat.
winegstreamer: Add video_decoder stub.
ir50_32: Implement open and close.
winegstreamer: Add WG_MAJOR_TYPE_VIDEO_INDEO video type.
winegstreamer: Implement basic functionality for video_decoder.
ir50_32: Implement decompression.
wine.inf: Enable ir50_32 video codec.
Zebediah Figura (28):
wined3d: Make depth bounds test a proper state and handle it in wined3d_device_apply_stateblock().
setupapi/tests: Add tests for FLG_ADDREG_APPEND.
setupapi: Fail installation when trying to append to a registry value of the wrong type.
setupapi: Create the registry value if it doesn't exist in append_multi_sz_value().
wine.inf: Always use FLG_ADDREG_APPEND for SvcHost entries.
scardsvr: Add stub service.
oleaut32: Manually construct a stub buffer for dispinterfaces.
ws2_32: Forbid passing zero buffers to WSARecv().
mfreadwrite/tests: Avoid depending on sample size in test_source_reader().
mfreadwrite/tests: Test an audio/video file.
winegstreamer: Check the absolute value of the height in mf_media_type_from_wg_format_video().
winegstreamer: Separate a mf_video_format_to_wg() helper.
user32/tests: Add a register_class() helper.
user32/tests: Use ok() instead of assert().
user32/tests: Avoid leaking a window in test_message_conversion().
user32/tests: Test WM_DEVICECHANGE Unicode conversion.
user32/tests: Remove BroadcastSystemMessage() test for WM_DEVICECHANGE.
user32: Pass BSMINFO in BroadcastSystemMessageExA().
ddraw/tests: Remove unnecessary skips and conditionals from test_pixel_format().
d3d9/tests: Test that presenting does not set the pixel format on a window without one.
d3d8/tests: Test that presenting does not set the pixel format on a window without one.
ddraw/tests: Test that presenting does not set the pixel format on a window without one.
wined3d: Introduce wined3d_texture_get_swapchain().
dxgi: Implement IDXGIResource::GetUsage().
d3d11: Expand tests for IDXGIResource.
wined3d: Destroy objects belonging to wined3d_context_vk.completed_command_buffer_id.
wined3d: Destroy objects belonging to wined3d_device_gl.completed_fence_id.
mfsrcsnk: Add missing DllGetClassObject() export.
Ziqing Hui (6):
mfplat: Fix stride calculation for RGB24.
mfplat: Support YVYU, NV11, MEDIASUBTYPE_RGB* media types.
winegstreamer: Implement GetOutputType for WMV decoder.
winegstreamer: Implement SetOutputType for WMV decoder.
mf/tests: Test GetOutputSizeInfo for WMV decoder.
winegstreamer: Implement GetOutputSizeInfo for WMV decoder.
The Wine development release 8.1 is now available.
What's new in this release:
- Windows version set to Windows 10 for new prefixes.
- Many code cleanups that were deferred during code freeze.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.1.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.1 (total 27):
- #43235 Dungeons & Dragons Online crashes on FreeBSD
- #44650 Multiple Blizzard games need dxgi and d3d11 dlls mapped without hole between two LOAD segments (Diablo III v2. 6. 1. 49286+, World of Warcraft, Overwatch)
- #47508 FL Studio: Pressing backspace while editing the name of something closes edit name window prematurely
- #49202 Never exited critical section in freetype.c
- #49443 Anno 1800: Super slow & bad performance
- #49615 Device read errors logged in dmesg when running wine commands with empty CD/DVD drive, since 5.5
- #51040 msi:package fails on Windows 10 if privileges not high enough
- #51313 gdi32:driver sometimes fails with a STATUS_GRAPHICS_PRESENT_OCCLUDED error
- #51784 The dinput8:hid output is too big in Wine
- #52354 winemac.drv not functional on non metal GPUs
- #52462 Wine don't recognize Ipega PG-9025 LT, RT and right analog stick is miss-mapped to RT and LT
- #52878 Free PC Audit 5.1.211.96 fails to show info in 'Brief' tab (needs GetBinaryValue method of the StdRegProv class)
- #52936 winhttp:url assumes 0xfb00 cannot be converted to the ANSI codepage, fails with UTF-8 codepage
- #53142 ieframe:webbrowser - test_ClientSite() has a rare failure on Windows 10 1809+
- #53274 adsldp:ldap - test_ParseDisplayName() sometimes fails to connect to the server
- #53386 cmd.exe: FOR /F USEBACKQ doesn't handle UTF-16 output of commands.
- #53594 GOG Galaxy crashes in GetExtendedTcpTable()
- #53666 Logitech X-56 Stick crashes the joystick subsystem if connected
- #54030 Snagit needs Win32_Volume class ( 'select deviceid from win32_volume where driveletter =C:')
- #54215 ListView doesn't refresh when changing between List and Details styles.
- #54289 RtlCopyContext buffer overflow
- #54328 nsi:nsi - test_tcp_tables() sometimes crashes in Wine
- #54337 AviUtl shows Japanese text as garbage after conversion in ExEdit edit box
- #54353 crypt32:cert - testVerifyRevocation() gets unexpected success in Wine on second run
- #54357 Spurious fixme message when calling ScrollWindow()
- #54364 RtlGenRandom fails on systems with more than 128 cores
- #54376 ws2_32:sock - test_reuseaddr() overflows a sockaddr variable by reading an AF_INET6 peer name into it
----------------------------------------------------------------
Changes since 8.0:
Ake Rehnman (1):
dbghelp: Store path to module image when passed through file handle.
Akihiro Sagawa (2):
user32/tests: Add DBCS WM_CHAR tests for edit control.
user32/edit: Fix WM_CHAR handler for double-byte characters.
Alex Henrie (23):
include: Add RTL_CONSTANT_STRING.
dwrite: Handle memory allocation failure in bidi_compute_bracket_pairs (cppcheck).
winex11: Simplify confusing condition and error messages in wglShareLists.
winspool: Improve the grammar of a comment in get_servername_from_name.
msi: Fix memory leak on realloc failure in create_diff_row_query (cppcheck).
msi: Fix memory leak on realloc failure in msi_get_window_text (cppcheck).
msi: Fix memory leak on realloc failure in search_directory (cppcheck).
mshtml: Handle memory allocation failure in set_statustext.
twain_32: Handle realloc failure in twain_add_onedriver (cppcheck).
dbghelp: Handle memory allocation failure in image_locate_build_id_target (cppcheck).
hhctrl: Handle memory allocation failure in ReadChmSystem (cppcheck).
hhctrl: Handle memory allocation failure in SearchCHM_File (cppcheck).
inetcomm: Fix memory leak on realloc failure in copy_headers_to_buf (cppcheck).
msvcrt: Change return type of _ctime32_s and _ctime64_s to errno_t.
include: Add ctime_s.
include: Add localtime_s.
shell32: Handle memory allocation failure in Dde_OnRequest (cppcheck).
shell32: Handle memory allocation failure in parse_dde_command (cppcheck).
include: Remove __WINE_MALLOC from functions that shouldn't have it.
appwiz: Fix memory leak on realloc failure in install_from_registered_dir (cppcheck).
winex11: Fix memory leak on realloc failure in import_xdnd_selection (cppcheck).
server: Fix buffer overrun in map_view handler.
urlmon: Use the _recalloc function instead of reimplementing it.
Alexandre Julliard (20):
krnl386: Make MapLS argument non-const to avoid some compiler warnings.
krnl386: Remove a trace that causes compiler warnings.
shell32: Allocate a full SHITEMID to avoid a compiler warning.
tools: Add a common helper to get the argv0 directory.
tools: Add a common helper to cleanup temp files.
tools: Move signal masking to the common make_temp_file() helper.
tools: Add a common helper to setup signal handlers.
shell32: Allocate the right size for an ITEMIDLIST.
scrobj: Initialize a variable to silence a compiler warning.
ntdll: Initialize a variable to silence a compiler warning.
ntdll: Prefer the ntdll path over argv[0] on platforms without reliable exe information.
user32: Copy directly to the buffer in unpack_message().
shlwapi/tests: Don't write uninitialized data.
gdiplus: Initialize a variable to avoid a spurious compiler warning.
ole32/tests: Raise an exception instead of accessing a bad pointer directly.
makedep: Don't output rules for disabled modules.
tools: Make sure that config.h is included.
include: Add some C99 floating point comparison macros.
wow64cpu: Move base address to leave more room for wow64.dll.
kernelbase: Report correct errors in GetModuleHandleExA().
Alistair Leslie-Hughes (5):
mountmgr.sys: Don't attempt to read from invalid media.
include: Add _XHR enum values.
include: Add D3DKMT_ENUMADAPTERS2 structure.
secur32: QueryContextAttributesW check for valid object before use.
secur32: Trace fContextReq consistently.
Bernhard Kölbl (12):
windows.media.speech: Move constraints vector to the recognition session.
windows.media.speech: Do not force calling convention on internal callbacks.
windows.media.speech: Return IAsyncAction from session_StopAsync.
windows.media.speech: Return IAsyncAction from session_PauseAsync.
windows.media.speech/tests: Test the recognizer state.
windows.media.speech/tests: Test starting, stopping, pausing and resuming the recognition session.
windows.media.speech: Add a worker thread to the recognition session.
windows.media.speech/tests: Check if stopping the session resets the paused state.
windows.media.speech: Allow the recognition session worker to be paused.
windows.media.speech: Add an audio capturing system.
windows.media.speech: Partially implement the speech recognizer state.
windows.media.speech: Store recorded audio in a temporary ringbuffer.
Brendan Shanks (7):
include/msvcrt: Add __WINE_(DEALLOC|MALLOC) attributes to _strdup and _wcsdup.
include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC|MALLOC) attributes to _aligned_malloc functions.
include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC) attributes to _recalloc.
taskmgr: Use exit code 1 when terminating processes.
taskkill: Use exit code 1 when terminating processes.
ntdll: Add stub for NtQueryInformationProcess(ProcessCycleTime).
kernelbase: Implement and add tests for QueryProcessCycleTime.
Eric Pouech (20):
dbghelp: Don't search path when we have a file handle to loaded image.
winedbg: Pass loaded image's file handle to dbghelp.
dbghelp: Expose the real path to the module in SymGetModuleInfo*().
dbghelp: In dwarf debug info, use the same name of anonymous UDT as pdb.
dbghelp: Don't use dbghelp_current_cpu.
winedbg: Use debuggee's bitness for 'examine /a' command.
conhost.exe: Handle ctrl-pause/break key strokes.
conhost.exe: Handle ctrl-\ in Wine.
winedbg: Track loaded modules.
winedbg: Fix read access to variables with thread local storage.
include: Be consistent in naming regarding MSF's block.
include: Update some fields in PDB headers.
include: Consistenly use _size to name the size of a sub-block.
include: Use stream to denote MSF stream/file.
winedump: Introduce a helper to print PE section's characteristics.
winedump: Correctly dump PDB_STREAM_INDEX.segment.
winedump: Explain a bit more errors on hash header.
winedump: Dump correctly ranges part of DBI stream.
winedump: Properly dump segment map information from PDB/DBI stream.
winedump: Be stricter about sizes while walking module's list.
Evan Tang (6):
mshtml: Implement IHTMLRect2 for HTMLRect.
ntdll: TlsIndex should not actually contain tls indices.
secur32: Schannel AcceptSecurityContext support.
secur32: Share code for schannel Acquire and AcceptCredentialsHandle.
secur32: Fix schannel AcquireCredentialsHandle algorithm mismatch error return.
secur32: Add test for schannel AcceptSecurityContext.
Fabian Maurer (7):
user32/tests: Don't assign const variable to other const (gcc 4.7).
wldap32: Free resource in error case and return error code (Coverity).
wldap32: Set error code in error cases (Coverity).
d2d1_1: Don't redefine D2D1_PROPERTY_BINDING (gcc 4.3).
d3dx10core: Don't redefine ID3D10Device1 (gcc 4.3).
winedump: Prevent "format overflow" warning.
dwrite/tests: Prevent "misleading indentation" warnings.
François Gouget (5):
user32: GetClipboardData() should set last error when the format is not found.
user32/tests: Use wine_dbgstr_an() to trace malformed Unicode strings.
user32: Fix a SetClipboardData() underflow and improve the tests.
user32: Fix a SetClipboardData() buffer overflow.
d3d12/tests: Don't check the refcount after releasing the dxgi adapter.
Gabriel Ivăncescu (20):
mshtml: Don't release the frame returned by get_frame_by_name.
mshtml: Don't hold ref to the created window in the FrameBase.
mshtml: Release the image factory's dispex.
mshtml: Don't initialize HTMLElement dispex for Option constructor.
mshtml/tests: Fix EventObj leak in onclick test.
mshtml/tests: Fix window leaks in dom tests.
mshtml: Implement location props when there's no URI.
mshtml: Defer populating the IActiveScript field until it's fully initialized.
mshtml: Set SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION properly.
jscript: Implement SID_GetCaller for QueryService.
vbscript: Add a ServiceProvider stub.
vbscript: Implement SID_GetCaller for QueryService.
include/mshtml: Add the other IHTMLEventObj* interfaces.
mshtml: Use Scrollbar_Auto as default for vertical scrollbars.
jscript: Pass the correct ServiceProvider when invoking external prop.
mshtml: Return undefined from window.XMLHttpRequest for uninitialized documents.
mshtml: Traverse and unlink builtin func disps.
mshtml: Simplify dynamic props unlinking.
mshtml: Tie window.location to the outer window.
mshtml: Embed the HTMLLocation into the outer window.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.240.
Gerald Pfeifer (2):
localspl: Avoid uninitialized variable in fill_builtin_form_info.
tools: Include limits.h for PATH_MAX.
Hans Leidekker (22):
advapi32: Bump random buffer size.
dplayx/tests: Skip tests when the dll is missing.
wbemprox: Implement Win32_Volume.
wbemprox: Implement GetBinaryValue() method.
wbemprox: Remove reg_ prefix from static functions.
winhttp/tests: Fix test failures with the UTF-8 code page.
adsldp/tests: Avoid test failures when the server is down.
ntdll/tests: Mark more Windows 11 test failures as broken.
ntdll/tests: Fix path test failures on Windows 11.
ntdll/tests: Fix some Wow64 test failures on Windows 11.
gdi32/tests: Mark another D3DKMTCheckOcclusion() test as flaky.
ws2_32/tests: Fix some test failures on Windows 11.
ws2_32/tests: Skip adapters that aren't up and running in test_bind().
ntdll: Add Windows 11 version.
ntdll: Default to Windows 10.
winecfg: Fix CurrentVersion registry string for Windows 10 and up.
msi/tests: Avoid test failures when running with insufficient rights.
msi: Install and patch global assemblies in InstallFinalize.
msi: Perform late initialization of the assembly caches.
msi: Remove msi_ prefix from static functions.
msi: Get rid of unnecessary typedefs.
wbemprox: Recognize Windows 11.
Huw D. M. Davies (1):
winebuild: Reorder the includes to avoid a build error on macOS.
Jacek Caban (2):
win32u: Silence spurious FIXME in NtUserScrollWindowEx.
ieframe/tests: Relax session count test.
James McDonnell (1):
kernel32: Use MoveFileWithProgress() to partially implement MoveFileTransacted(),
Jinoh Kang (9):
ntoskrnl.exe/tests: Use loopback address in test_wsk_listen_socket.
riched20: Obtain the composition start index after deleting selection.
ntdll: Check for delayed free block in heap_validate_ptr.
ntdll: Validate subheap's owner heap when validating heap.
ntdll: Validate blocks in the heap pending free request list.
ntdll: Remove redundant WARN_ON(heap) check.
ws2_32/test: Fix sockaddr buffer overflow in test_reuseaddr.
include: Add noreturn attribute to RtlRaiseStatus.
include/msvcrt: Add noreturn attribute to _assert.
Joshua Ashton (1):
winevulkan: Enable VK_EXT_hdr_metadata.
K.B.Dharun Krishna (1):
po: Update Tamil translation.
Kacper Michajłow (1):
include: Add some DXGI_COLOR_SPACE_TYPE enumeration values.
Mohamad Al-Jaf (5):
include: Add windows.system.profile.systemmanufacturers.idl file.
windows.system.profile.systemmanufacturers: Add stub DLL.
windows.system.profile.systemmanufacturers: Stub ISmbiosInformationStatics interface.
windows.system.profile.systemmanufacturers/tests: Add ISmbiosInformationStatics_get_SerialNumber tests.
windows.system.profile.systemmanufacturers: Implement ISmbiosInformationStatics_get_SerialNumber.
Nikolay Sivov (11):
include: Add recent DirectWrite API changes.
windows.globalization: Implement ILanguage::get_LanguageTag().
comctl32/header: Do not touch 'hwnd' field in HDM_LAYOUT.
ktmw32: Use syscall interface for transaction objects stubs.
propsys: Add InitPropVariantFromStringVector().
d3dx9/preshader: Set input table size for texture shaders.
d3dx9: Create parameter evaluator for texture shaders.
d3dx9: Partially implement D3DXFillTextureTX().
d3dx9/tests: Add a helper to compare filled cube textures.
d3dx9: Fix ARGB texture fills with negative component values.
d3dx9: Partially implement D3DXFillCubeTextureTX().
Paul Gofman (14):
ntdll/tests: Fix the case of absent XSTATE context in test_copy_context().
ntdll/tests: Fix xstate tests failing on modern Windows and CPUs with more xstate features.
ntdll/tests: Fix random test failure in test_restore_context().
ntdll: Factor out context_copy_ranges() function.
ntdll: Do not use extended context in RtlCopyContext() if extended state is not copied.
ddraw: Do not report D3DDEVCAPS_HWRASTERIZATION for RGB emulation device.
ntdll: Use MemAvailable field for free RAM estimation if available.
cryptnet: Cache revocation status in verify_cert_revocation().
cryptnet: Use cert data hash as cache id instead of serial number.
cryptnet: Also hash issuer cert for cache id.
msmpeg2vdec: Add stub dll.
msauddecmft: Add stub dll.
ntdll: Add stub for NtQueryInformationProcess( ProcessHandleTable ).
ws2_32: Provide same address order from gethostbyname() on consequent calls.
Robert Wilhelm (2):
vbscript: Return type mismatch for UBound(Empty) and UBound(NULL).
vbscript: Return type mismatch for LBound(Empty) and LBound(NULL).
Rémi Bernon (57):
sechost: Use heap_strdup_multi_AtoW for dependencies in CreateServiceA.
services: Use a separate allocation for NotifyParamsArray[0].params.
dwrite: Statically init the system_fallback locale list.
schedsvc: Avoid mismatching heap in SchRpcEnumFolders.
schedsvc: Avoid mismatching heap in SchRpcEnumTasks.
schedsvc: Avoid mismatching heap in RPC allocations.
schedsvc: Use CRT allocation functions in remaining calls.
dinput: Avoid sending envelope report if it has been removed.
windows.gaming.input: Fix infinite effect duration scaling.
windows.gaming.input: Introduce new effect_reorient_direction helper.
windows.gaming.input: Fix magnitude sign for constant and ramp effects.
hidp: Allow match all usages on specific functions only.
oledb32: Fix error info cleanup dispparams rgvarg index.
oledb32/tests: Avoid use-after-free and unused assignment.
dinput: Remove outdated and superfluous comments.
dinput: Add traces to the ANSI wrappers.
dinput: Remove unnecessary initialization helpers.
dinput: Move dinput class implementation to dinput.c.
dinput: Rename lpdid local variable to device.
include: Add Windows.Foundation.Collections.IVectorChangedEventArgs definition.
include: Add Windows.Foundation.Collections.IMapChangedEventArgs<T> definition.
include: Add Windows.Foundation.Collections.MapChangedEventHandler<K, V> definition.
include: Add Windows.Foundation.Collections.IMap<K, V> definition.
include: Add Windows.Foundation.Collections.IObservableMap<K, V> definition.
include: Add Windows.Foundation.Collections.IPropertySet definition.
include: Add Windows.Foundation.Collections.IObservableVector<T> definition.
include: Add Windows.Foundation.IAsyncActionWithProgress<TProgress> definition.
include: Add Windows.Foundation.IAsyncOperationWithProgress<TResult, TProgress> definition.
dinput: Use an internal refcount on all dinput devices.
dinput: Introduce a new struct to keep input thread state.
dinput: Introduce new input_thread_update_device_list helper.
dinput: Keep an internal refcount for dinput devices references.
dinput: Keep a reference on acquired devices while waiting.
dinput: Update the input thread device list when notified only.
dinput: Update the device status while holding its CS.
dinput: Cleanup low-level hooks on input thread exit.
dinput: Introduce new dinput_unacquire_window_devices helper.
dinput: Unacquire all devices on internal thread error.
dinput: Keep track of input thread users using public refcounts.
gitlab: Run dinput 64-bit tests in a dedicated job.
dinput/tests: Dynamically allocate async operation handlers.
dinput: Move window hook checks to input_thread_update_device_list.
dinput: Move rawinput registration to input_thread_update_device_list.
dinput: Move di_em_win_wndproc function around.
dinput: Use SendMessageW to notify and stop input thread.
dinput: Avoid entering hook CS for rawinput messages.
include: Declare some NtUser pointer related syscalls.
win32u: Move NtUserEnableMouseInPointer from user32.
win32u: Stub NtUserIsMouseInPointerEnabled syscall.
win32u: Stub NtUserGetPointerInfoList syscall.
win32u/tests: Test NtUserEnableMouseInPointer syscall.
win32u/tests: Test NtUserIsMouseInPointerEnabled syscall.
win32u/tests: Test NtUserGetPointerInfoList syscall signature.
comctl32/tests: Test unicode nature of window subclasses.
comctl32: Save unicode window nature on SetWindowSubclass call.
comctl32: Always use unicode messages for subclass procedures.
comctl32: Skip restoring window proc if it has been modified.
Santino Mazza (3):
mshtml/tests: Test for get_all and get_body in document fragments.
mshtml: Use This->node for HTMLDocument_get_all.
mshtml: Implement HTMLDocument_get_body for document fragments.
Shaun Ren (3):
winegstreamer: Parse all tag events in query_tags.
winegstreamer: Map MF_SD_LANGUAGE to ISO 639-1 for QuickTime media.
mfplay/tests: Add tests for MF_SD_LANGUAGE.
Zebediah Figura (31):
d3d11/tests: Add a basic test for vertex formats.
d3d10core/tests: Add a basic test for vertex formats.
wined3d: Separate a parse_channel_desc() helper.
wined3d: Use a string channel desc to initialize typed formats.
rpcrt4: Use a CONTAINING_RECORD helper to retrieve CStdStubBuffer from IRpcStubBuffer.
rpcrt4: Use a CONTAINING_RECORD helper to retrieve CInterfaceStubHeader from CStdStubBuffer.
rpcrt4: Rename "ref_counted_vtbl" to "struct delegating_vtbl".
rpcrt4: Use a flexible array member in struct delegating_vtbl.
rpcrt4: Use CONTAINING_RECORD in release_delegating_vtbl().
win32u: Make call_messageAtoW() static.
win32u: Make the global "caret" structure static.
win32u: Make create_brush() hidden.
win32u: Make draw_frame_caption() static.
win32u: Make draw_scroll_bar() static.
win32u: Make DrawTextW() hidden.
win32u: Make get_winproc_ptr() static.
win32u: Make ImmProcessKey() hidden.
win32u: Make ImmTranslateMessage() hidden.
win32u: Make is_child() hidden.
ntdll: Make fd_set_file_info() static.
ntdll: Make call_user_mode_callback() hidden.
ntdll: Make user_mode_callback_return() hidden.
ntdll: Make __wine_syscall_dispatcher_prolog_end() hidden on x86_64.
ntdll: Make __wine_unix_call_dispatcher_prolog_end() hidden on x86_64.
win32u: Make send_message_timeout() hidden.
win32u: Make set_visible_region() hidden.
winex11: Make client_foreign_window_proc hidden.
winex11: Include x11drv.h in xrandr.c even if compiling without xrandr.
winepulse: Include mult.c in pulse.c.
include: Fix the definition of DIFXAPILOGCALLBACK_* functions.
include: Add more definitions to difxapi.h.
Zhiyi Zhang (4):
comctl32/tests: Add WM_STYLECHANGED tests for changing listview view styles.
comctl32/listview: Repaint when changing view styles.
include: Add uiviewsettingsinterop.idl.
opengl32/tests: Make context current before calling wglCopyContext().
The Wine team is proud to announce that the stable release Wine 8.0
is now available.
This release represents a year of development effort and over 8,600
individual changes. It contains a large number of improvements that
are listed in the release notes below. The main achievement is the
completion of the conversion to PE format.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0.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.
----------------------------------------------------------------
What's new in Wine 8.0
======================
*** PE modules
- After 4 years of work, the PE conversion is finally complete: all modules can
be built in PE format. This is an important milestone on the road to supporting
various features such as copy protection, 32-bit applications on 64-bit hosts,
Windows debuggers, x86 applications on ARM, etc.
However, some modules still perform direct calls between the PE and the Unix
part, instead of going through the NT system call interface. The remaining
direct calls will be removed during the Wine 8.x development phase.
- A special syscall dispatcher is used for PE -> Unix transitions, to avoid the
overhead of a full NT system call. This minimizes the performance impact of the
new architecture, in particular for the OpenGL and Vulkan libraries.
- Building mixed Windows/Unix libraries in ELF format (.dll.so libraries) is
still supported for use in Winelib applications. However, such applications
won't support features enabled by the NT syscall interface, such as WoW64
without 32-bit libraries.
*** WoW64
- WoW64 thunks are implemented for essentially all Unix libraries, enabling a
32-bit PE module to call a 64-bit Unix library. Once the remaining direct
PE/Unix calls have been removed, this will make it fully possible to run
32-bit Windows applications without any 32-bit Unix library.
- When the 32-bit Wine loader isn't found, 32-bit applications are started in
the new experimental "Windows-like" WoW64 mode (where 32-bit code runs inside
a 64-bit host process). This mode can be enabled by building with the
'--enable-archs' configure option. This is still under development and not yet
recommended for general use. Since in case of configuration errors it is
possible for it to be triggered inadvertently, applications started in this
mode print the warning "starting in experimental wow64 mode".
*** Graphics
- The "Light" theme is enabled in the default configuration, for a more modern
look. Other themes can still be configured through WineCfg.
- The graphics drivers (winex11.drv, winemac.drv, wineandroid.drv) are converted
to run on the Unix side of the syscall boundary, and interface with the Unix
side of the Win32u library.
- The Print Processor architecture is implemented. This will be used to avoid
direct PE<->Unix calls in the printer driver.
- Effects are supported in Direct2D, including description parsing and a number
of core objects.
- Command lists recording and playback are implemented in Direct2D.
- The Vulkan driver supports up to version 1.3.237 of the Vulkan spec.
*** Direct3D
- Many optimizations related to streaming map acceleration are implemented, in
common code as well as in the GL renderer. Depending on the application, this
may result in major performance improvements.
- Adapter video memory budget change notifications are implemented.
- The Vulkan renderer supports setting multiple viewports and scissor rectangles.
- Several Direct3D 10 and 11 features, which were already implemented, are
accurately reported through capability flags:
- Per-format support for vertex and index buffers.
- Per-format support for all capabilities via D3D11_FEATURE_FORMAT_SUPPORT.
- No-overwrite maps on shader resources and constant buffers.
- Partial range binding of constant buffers.
- For convenience, a new WINE_D3D_CONFIG environment variable may be used instead
of modifying the HKEY_CURRENT_USER\Software\Wine\Direct3D registry key. The
value is a comma- or semicolon-separated list of key-value pairs, e.g.:
WINE_D3D_CONFIG="renderer=vulkan;VideoPciVendorID=0xc0de"
If an individual setting is specified in both the environment variable and the
registry, the former takes precedence.
- The Direct3D graphics card database recognizes more graphics cards.
- The Vulkan renderer limits the maximum Direct3D feature level based on
available Vulkan features.
*** Direct3D helper libraries
- A new HLSL compiler is implemented using the vkd3d-shader library.
- A new HLSL disassembler is implemented using the vkd3d-shader library.
- The HLSL preprocessor is reimplemented using the vkd3d-shader HLSL
preprocessor.
- The D3DX 10 Thread Pump is implemented.
- Many more expressions are supported in Direct3D 10 effects.
- Cubemap projection is implemented in the D3DX 9 helper library.
*** Audio / Video
- The MPEG-1 audio decoder filter for layers 1 and 2, and the separate filter for
layer 3, are both implemented on top of GStreamer.
- The ASF reader filter is implemented.
- The OpenAL32.dll wrapper library is removed, in favor of the native
OpenAL32.dll library shipped by Windows applications.
*** Media Foundation
- Content type resolution is improved in the Media Foundation Player.
- Rate control is implemented.
- The Enhanced Video Renderer default mixer and presenter are better supported.
- The DirectShow filter is implemented in the Enhanced Video Renderer.
- An initial framework is implemented for the Writer encoding API.
- The topology loader is better supported.
*** Input devices
- Controller hotplug support is greatly improved, and controller removal and
insertion are correctly dispatched to applications.
- Driving wheel device detection and reporting is better implemented, using the
SDL library and HID usages as hints for the device types.
- Force feedback effect support is improved, specifically with driving wheel
controllers.
- The HID Haptics specification is used for left / right motor rumble and trigger
rumble. It makes it possible for device drivers to expose haptics support over
HidRaw, and overcome EvDev limitations.
- The Joystick Control Panel is redesigned, with new graphics and a dedicated
view for XInput gamepads.
- Sony DualShock and DualSense controllers are supported when the hidraw backend
is used, and exposed to applications in the same way as they are on Windows.
- The Windows.Gaming.Input module is introduced, one of the first WinRT modules
in Wine, implementing a new programming interface to access gamepads, joysticks
and driving wheel devices. For this new input API, hotplug notifications are
also implemented, as well as force feedback effects and haptics. This API is
the first one to support trigger rumble.
*** Internationalization
- A proper locale database, in Windows locale.nls format, is generated from the
Unicode CLDR database. The list of supported locales is essentially identical
to that of the latest Windows version.
- Unicode string comparison is based on the Windows Sortkey database and
algorithms instead of the Unicode Collation Algorithm, yielding more compatible
results.
- Characters from high Unicode planes (in UTF-16 encoding) are supported in most
functions, in particular for case mappings, BiDi formatting, and character
shaping.
- The UTF-8 encoding is supported as Ansi codepage. It is enabled when requested
by the application's manifest.
- Unicode character tables are based on version 15.0.0 of the Unicode Standard.
- The timezone data is generated from the IANA timezone database version 2022g.
*** Text and fonts
- Font linking is enabled for most system fonts, which should fix missing glyphs
in CJK locales.
- Font fallback in DirectWrite is reworked, with additional support for an large
number of scripts.
*** Kernel
- The ApiSetSchema database is implemented, replacing all the api-ms-* forwarding
modules. This reduces both disk space and address space usage.
- DOS file attributes are persistent, and stored on disk using the filesystem's
extended attributes, in a format compatible with Samba.
*** Internet and networking
- The Online Certificate Status Protocol (OCSP) is implemented.
- More EcmaScript features are supported in JScript standard-compliant mode.
- The JScript garbage collector is implemented.
- Accessibility support is enabled in Wine Gecko package.
- Web Storage, Performance object and more event objects are implemented in
MSHTML.
*** Mono / .NET
- The Mono engine is updated to version 7.4.0. The list of changes can be viewed
at https://github.com/madewokherd/wine-mono/releases/tag/wine-mono-7.4.0
*** Builtin applications
- All the builtin applications use Common Controls version 6, which enables
theming and high-DPI rendering by default.
- The Wine Debugger (winedbg) prints thread names in the 'info thread' listing,
for applications that set the names of their threads. All internal Wine threads
also set their own name.
- The QWORD type is supported in the REGEDIT and REG registry tools.
- Notepad has a status bar displaying the current cursor position. The Goto Line
functionality is also implemented.
- The builtin console programs print data in the OEM codepage, for better
compatibility with applications reading their output.
- The Service Control tool (sc.exe) supports the 'query' command.
*** Development tools
- The PE conversion has made it necessary to implement a new mechanism to run
static C++ constructors in Winelib ELF applications. Unfortunately, this
requires the corresponding modules to be rebuilt with Wine 8.0. The rebuilt
modules will still run correctly on older Wine versions, but older modules will
no longer execute static constructors when run on Wine 8.0.
- In regression tests, individual checks can be marked as "flaky". This is useful
for checks that depend on external factors such as network timings. The errors
are still reported but not counted as failures.
- Test failure messages can be printed in color by setting the WINETEST_COLOR
environment variable, to make them easier to spot in the test log.
- The Resource Compiler (WRC) and Message Compiler (WMC) use the locale.nls
database to detect languages and codepages, and thus support all the Windows
locales.
- The WineDump tool supports printing the contents of Enhanced Metafile spool
files, as well as more contents from PDB files.
*** Build infrastructure
- PE binaries can be built for multiple architectures from the same build tree,
using the '--enable-archs' option to configure, for example
'--enable-archs=i386,x86_64'. This can be used to enable the experimental
WoW64 mode, where 32-bit applications can run without any 32-bit host
libraries. Note that this mode is still under development and not yet
recommended for general use.
- Data types that are defined as 'long' on Windows are defined as 'long' instead
of 'int' on all platforms with a 32-bit long type. This is more compatible, but
it can cause printf format warnings with Unix compilers. In Winelib code, it
can be disabled by defining WINE_NO_LONG_TYPES.
- Import libraries can be generated without using dlltool, by passing the
'--without-dlltool' option to winebuild. This is used to avoid dlltool bugs
with delay import libraries.
- Libraries that contain only resources and no code can be built with the
'--data-only' option to winegcc, which makes them smaller and more efficient to
load.
*** Bundled libraries
- Faudio is updated to the upstream release 22.11.
- LCMS2 is updated to the upstream release 2.14.
- LibJPEG is updated to the upstream release 9e.
- LibMPG123 is updated to the upstream release 1.31.1.
- LibPng is updated to the upstream release 1.6.39.
- LibTiff is updated to the upstream release 4.4.0.
- LibXml2 is updated to the upstream release 2.10.3.
- LibXslt is updated to the upstream release 1.1.37.
- Zlib is updated to the upstream release 1.2.13.
*** Platform-specific features
- The experimental WoW64 architecture is supported on macOS versions from 10.15.
- 64-bit time_t is supported on 32-bit Linux with recent Glibc versions.
- Exception unwinding on ARM platforms is extended with EHABI support on ARM32
and Dwarf support on ARM64.
*** Miscellaneous
- RSA encryption and the RSA-PSS signing algorithm are implemented.
- An initial version of the UI Automation API is implemented.
- Function name demangling supports various C++11 features.
*** External dependencies
- The vkd3d and LDAP libraries are bundled in the source tree and built as
PE. The corresponding Unix libraries are no longer needed.
- The OpenAL library is no longer used.
The Wine development release 8.0-rc5 is now available. This is
expected to be the last release candidate before the final 8.0.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0-rc5.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-rc5 (total 9):
- #26822 Double click the icon in the title bar should close the window
- #32643 getsockopt() does not indicate WSAEFAULT when setting optlen too small
- #45542 WeGame hangs after login.
- #50351 Slow text rendering in dofus linked to fnIMLangFontLink2_GetCharCodePages calling WideCharToMultiByte with CP_UNICODE
- #51227 urlmon:url breaks the wininet:http test on Windows 10 1709+ (7 failures)
- #51906 Multiple games fail to play videos (War Mongrels, The Medium, Sherlock Holmes Chapter One)
- #53408 Dark Souls: Remastered has slow performance with OpenGL renderer
- #53761 Broken rendering in Mafia III: Definitive Edition
- #54283 dinput:force_feedback - test_windows_gaming_input() sometimes crashes on Windows
----------------------------------------------------------------
Changes since 8.0-rc4:
Alexandre Julliard (1):
tools: Always fall back to argv[0] to find the tools directory.
Brendan Shanks (1):
kernel32/tests: Test GetFileType() with additional types of handles.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Eric Pouech (3):
kernel32/tests: Extend share right for debugger's black box tests.
kernel32/tests: Merge two debug event loops in test_debugger().
kernel32/tests: Filter spurious thread creation debug events.
Fan WenJie (1):
winebuild: Only set thumb_mode on ARM targets.
François Gouget (4):
d3d12/tests: Allow a broken Windows 10 1709 hresult.
nsi: Return an error if NsiAllocateAndGetTable() fails to allocate the tables.
nsi: Add some margin to the tables size in NsiAllocateAndGetTable().
win32u: Document the font_lock handling in font_EnumFonts().
Gabriel Ivăncescu (1):
notepad: Fix uninitialized upper 64-bits of `pos` in DoFind.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Lauri Kenttä (1):
po: Update Finnish translation.
Robert Wilhelm (1):
vbscript/tests: Fix chr() tests with double-byte character sets.
Santino Mazza (2):
iphlpapi/tests: Test for Ipv4Enabled and Ipv6Enabled flags.
iphlpapi: Set Ipv4Enabled and Ipv6Enabled flags accordingly.
Tim Clem (2):
user32/tests: Test GetRawInputBuffer header fields more thoroughly.
win32u: Correct GetRawInputBuffer alignment under WoW64.
The Wine development release 8.0-rc4 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0-rc4.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-rc4 (total 25):
- #48553 Catia (CAD software) refuse to run installation on newest wine (<=4.18)
- #51268 Assembler messages: Error: no such instruction: `xsavec (%esp)'
- #51301 Any action that locks the cursor into place inside the Roblox Client window causes the cursor to freeze
- #51420 Running any program in Wine causes 100% cpu usage in Xorg
- #52089 d2d1:d2d1 fails in test_draw_geometry() on Wine
- #52152 comctl32:edit gets unexpected heights in test_text_position_style() on Windows 10 1809+
- #52429 Guild Wars: login not possible
- #52557 GetNetworkParams loops forever on musl
- #52749 winetricks dotnet35sp1: printfilterpipelinesvc.exe crashes in background
- #52932 comctl32:edit & user32:edit have test_char_from_pos() failures on Windows with the UTF-8 codepage
- #52994 mstask:task_trigger - test_GetNextRunTime() fails in Wine on date change
- #53382 Slow rendering when connected to external monitor
- #53536 ntdll:rtl - The 32-bit RtlUlonglongByteSwap() breaks test_RtlDecompressBuffer() on Windows
- #53583 FindNLSStringEx reimplementation doesn't match native
- #53671 No objects are being rendered in any DX10/11 apps with older GPU drivers
- #53837 HS_hevo_gc 8.6.1.2 fails to install
- #54045 ntdll:rtl - test_RtlIpv6StringToAddress() fails on Windows 11
- #54151 xactengine3_7:xact3 crashes when no speaker is connected
- #54172 ddraw:ddraw1, ddraw:ddraw2, ddraw:ddraw4, ddraw:ddraw7 - test_window_position() gets the size of the wrong screen in Wine
- #54180 Petz 4 has corrupt .pet files at startup
- #54210 Wine fails to compile with Linux 4.11 headers (use of undefined AT_HWCAP2)
- #54218 RTLD_SELF use breaks musl build since 8.0-rc1
- #54263 Build of 7.22 fails with mingw-w64 10.0
- #54264 Hyperdimension Neptunia Re;Birth1 crashes on exit in xactengine notification callback
- #54287 wineconsole: alternate screen buffer does not work
----------------------------------------------------------------
Changes since 8.0-rc3:
Alexandre Julliard (6):
Update copyright info for 2023.
gitlab: Add a daily win10 test run.
kernelbase: Fix FindNLSStringEx for strings with no primary weights.
wow64: Initialize win32u syscall table when it is mapped.
winecrt0: Check for RTLD_SELF support to enable ELF constructors.
tools: Create a temporary directory to store temp files.
Alistair Leslie-Hughes (1):
faudio: Purge and clear notifications on ShutDown.
Conor McCarthy (1):
d3d11: Apply the 'KEEP' options when sending RTVs and UAVs to wined3d.
Eric Pouech (7):
user32/tests: Retry when opening the clipboard.
user32/tests: Fix failing WM_PASTE tests for edit control on Win10+.
comctl32/tests: Retry when opening the clipboard.
comctl32/tests: Fix failing WM_PASTE tests for edit control on Win10+.
conhost: Reset console attribute upon exit in unix mode.
conhost: Initialize color_map when creating an alternate screen buffer.
po: Update French translations.
Gabriel Ivăncescu (2):
win32u: Initialize the tracking_info for NtUserDrawScrollBar params.
winex11.drv: Obtain icon info for icons passed to fetch_icon_data().
Gerald Pfeifer (1):
wrc: Avoid undefined behavior in the FreeBSD case.
Hans Leidekker (7):
iphlpapi: Handle errors from DnsQueryConfig(DnsConfigDnsServerList).
wininet/tests: Pass INTERNET_FLAG_RELOAD in secure connection tests.
shell32/tests: Fix a test failure on Windows 11.
ws2_32/tests: Fix test failures on Windows 11.
ntdll: Conform to Windows 11 behavior in RtlIpv6StringToAddress().
ntdll: Fix a test failure on Windows 11.
ntdll/tests: Mark some test results on Windows 11 as broken.
Hugh McMaster (1):
conhost: Migrate from FontPitchFamily to FontFamily.
Jacek Caban (2):
include: Add vadefs.h header.
include: Add stdarg.h header.
Julian Rüger (1):
po: Update German translation.
Paul Gofman (3):
dwmapi: Fill qpcVBlank in DwmGetCompositionTimingInfo().
cryptnet: Check cached revocation status in verify_cert_revocation().
cryptnet: Also cache revocation status when using OCSP.
Rémi Bernon (10):
ole32: Use CRT allocation for MIDL_user_(allocate/free).
ole32: Allocate IEnumSTATDATA data with the process heap.
ole32: Reset IMoniker data pointer to NULL on failure.
ole32: Allocate and free moniker lists with CRT allocations.
dinput/tests: Remove the async cancel tests.
rpcrt4/tests: Avoid invalid free of static string.
msv1_0: Avoid double free when SpAcceptLsaModeContext fails.
msv1_0: Avoid double free when SpInitLsaModeContext fails.
wininet: Allocate returned options strings with the process heap.
comctl32: Avoid mismatching heap in ProgressWindowProc.
Stefan Dösinger (1):
wined3d: Clamp the bound buffer range to the buffer size.
Zebediah Figura (4):
ntdll: Check for AT_HWCAP2 definition before using it.
ntdll: Manually write byte code for the xsavec instruction.
wined3d: Map the destination BO with WINED3D_MAP_DISCARD when replacing the entire destination in wined3d_context_gl_copy_bo_address().
wined3d: Write into a mapped BO when replacing the entire destination in wined3d_context_gl_copy_bo_address().
Zhiyi Zhang (2):
win32u: Introduce a get_display_depth() helper to retrieve emulated display depth.
ddraw/tests: Do not create a fullscreen test window in test_window_position_cb().
The Wine development release 8.0-rc3 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0-rc3.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-rc3 (total 28):
- #35126 AirBuccaneers hangs on exit
- #41339 Minor regression: Wine loads with "/wine/dlls/ntdll/loader.c: loader_section" errors when creating a new prefix or running an application
- #47438 Bloodstained: Ritual of the Night freeze at whitescreen
- #47536 Can't aim in Overwatch after alt-tabbing
- #47828 regedit: Random crashes on selecting an entry (thread-related?)
- #48322 World of Warcraft Classic: Mouse movement can block keydown events from registering
- #49164 Call of Cthulhu: Dark Corners of the Earth crashes after start
- #50519 Adobe Digital Editions 4.5 crash on Wine 6.0
- #52563 d3d11:d3d11 fails in test_dynamic_map_synchronization() on cw-rx460 in Wine
- #52903 Resizing Dn-FamiTracker fails to redraw pattern editor and status bar
- #53101 Public Peer silently exits
- #53403 winegstreamer "flush" removal breaks radio in fallout 3
- #53627 Max Payne: mouse scroll behaves erratically
- #53640 Bully: Scholarship Edition hangs on loading screen and doesn't play intros
- #53680 urlmon:url - test_BindToStorage() fails on Windows <= 8.1
- #53743 Vivisector has graphical glitches
- #53748 Sacred Gold (GOG): missing audio in .wmv videos
- #53752 Rayman 3: glitched graphics (black textures)
- #53785 Need for Speed: Payback crashes on launch with OpenGL renderer
- #53863 Tsui no Stella = Stella of the End: doesn't launch anymore (GL_INVALID_OPERATION)
- #53908 Comptes.exe errors with "dxLockMessage fails"
- #53995 d2d1:d2d1 runs out of GL memory and crashes on the debian 11 VM
- #54023 d3d11:d3d11 - test_dynamic_map_synchronization() fails on w11pro64_nv
- #54049 ddraw:ddraw2 test_texture_wrong_caps test triggers use after free bug
- #54170 20XX: invisible character
- #54184 Multiple applications fail http requests when WinHttpSendRequest() doesn't contain full request data
- #54191 Agarest 1 stopped showing Videos after implementing ASF Reader filter
- #54268 Moving the separator in regedit don't repaint listview
----------------------------------------------------------------
Changes since 8.0-rc2:
Alexandre Julliard (3):
d3d9/tests: Mark a texture sampling test as todo.
d3d9/tests: Mark a render target color test as todo.
d3d9/tests: Fix some activation/focus test failures.
Alistair Leslie-Hughes (2):
xactengine3_7/tests: Skip tests when XACTEngine Initialization fails.
include: Add missing enum XHR_PROP_ values.
André Zwing (3):
advapi32/tests: Don't test function directly when reporting GetLastError().
kernel32/tests: Don't test function directly when reporting GetLastError().
setupapi/tests: Don't test function directly when reporting GetLastError().
Biswapriyo Nath (1):
include: Add missing constants in d3d11.idl.
Eric Pouech (2):
comctl32/tests: Fix failing test on Windows in Arabic UTF-8.
comctl32/test: Adapt the edit tests for height to Win10+.
Floris Renaud (1):
po: Update Dutch translation.
Jinoh Kang (4):
user32/tests: Add tests for CS_HREDRAW and CS_VREDRAW.
win32u: Honor CS_HREDRAW and CS_VREDRAW when resizing window.
regedit: Use the default WM_PAINT implementation for REGEDIT window.
regedit: Clip siblings when drawing list and tree views.
Nikolay Sivov (1):
comctl32/tests: Ignore some IME messages in monthcal tests.
Philip K. Gisslow (1):
msi: Initialize all members of WINTRUST_DATA.
Piotr Caban (2):
msvcirt: Don't fail in streambuf_xsputn on 0xff character.
msvcirt: Fix ostream_print_char on 0 character.
Rémi Bernon (5):
dinput/tests: Reduce tests verbosity.
dinput/tests: Test W.G.I ramp effect with negative directions.
dinput/tests: Test W.G.I constant effect with negative direction.
dinput/tests: Test W.G.I periodic effect with negative direction.
dinput/tests: Test W.G.I condition effect with negative direction.
Tim Clem (3):
dinput/tests: Test granularity of the mouse z-axis.
dinput: Create object_properties for each mouse axis.
dinput: Add granularity to object_properties.
Vladislav Timonin (1):
comctl32/listview: Exclude header area in WM_NCPAINT.
Zebediah Figura (10):
ntdll/tests: Avoid testing the server pipe signaled state from the main thread.
d3d11/tests: Do not test deferred contexts in test_dynamic_map_synchronization().
d3d9/tests: Test uploading the whole mipmap chain in one map.
d3d8/tests: Test uploading the whole mipmap chain in one map.
wined3d: Load and invalidate every mipmap level when mapping the top mipmap level.
wined3d: Ignore DISCARD and NOOVERWRITE on buffers which are not GPU-accessible.
winegstreamer: Factor out a parser_create() helper.
winegstreamer: Protect the "streaming" member of struct parser with a separate lock.
winegstreamer: Explicitly sleep in the streaming thread when flushing.
d3d8: Filter out redundant buffer discards.
Zhiyi Zhang (1):
d2d1/tests: Fix memory leaks.
Ziqing Hui (2):
mfplat/tests: Test MFGetStrideForBitmapInfoHeader for NV11.
mfplat/tests: Add more RGB24 image size tests.
The Wine development release 8.0-rc2 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0-rc2.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-rc2 (total 50):
- #31927 ws2_32:sock fails intermittently - 'Test succeeded inside todo block: GetQueuedCompletionStatus returned 0'
- #42797 ICU64 for VICE: No highlighted read/write-colors in Memory-window.
- #46500 Cogpack - Exercises can't be run - Error 380 - Invalid property value
- #46538 Unreal Tournament (UT99): mouse clicks in main menu work only once
- #49394 CED1401 USB function driver needs ntoskrnl.exe.KeInsertQueueDpc()
- #49517 Warframe crashes during loading before menu with wined3d, gives popup
- #50013 MyPhoneExplorer 1.8.15 crashes
- #50043 Kholat from GOG does not launch anymore
- #50315 Silent Hill 2 failed to install -installshield extraction error
- #50468 winedbg fails to load symbols for non PE builtin dlls
- #52334 Performance has degraded in multiple games (WoW 1.12.1, Kane & Lynch: Dead Men Demo)
- #52394 "Control panel" -> "Add/Remove Programs" in builtin wine explorer is not working
- #52564 dxgi:dxgi times out in test_find_closest_matching_mode() on cw-gtx560
- #52708 libs/xslt/libxslt/attributes.c:136:9: error: variadic functions must use the base AAPCS variant
- #52779 Construction Set Extender crash with an Assertion Error in wine 7.5
- #52873 oleaut32:typelib fails in Wine in Hindi
- #52964 kernel32:locale - test_CompareStringA() fails on Wine in Hindi
- #52997 Integration of D3D12 support with a PE build of vkd3d causes a crash in Steam Overlay.
- #53028 gamepad buttons stopped working correctly
- #53099 wineserver (gcc -O0) crash when exiting LiLi USB Creator
- #53300 Controller response delayed
- #53384 Hogia Hemekonomi Unexpected error on first start
- #53406 Had been running 7.10 Fedora version no problem, but today updated to 7.12 broke??
- #53485 Cursor is missing in Visio 2003 when editing text
- #53503 QuickBooks Pro 99 page faults with print preview or attempting to print
- #53525 dinput:hid - test_hid_multiple_tlc() sometimes fails with testsigning turned on
- #53550 Some Catalan locales not properly handled
- #53595 Iran Timezone is not detected correctly
- #53623 Resident Evil 7 has broken rendering in DX11 mode
- #53625 In function ‘get_gnutls_cipher’ ... error: ‘GNUTLS_CIPHER_AES_128_CFB8’ undeclared
- #53744 WM_SETTEXT between ANSI programs treating LPARAM as Unicode causing name corruption
- #53756 configure fails in 32-bit gcc checking pthread_create using -Wl,--disable-stdcall-fixup
- #53884 Project Ignis: EDOPro corrupted textures on resizing
- #53894 user32:sysparams - test_WM_DISPLAYCHANGE() times out on Windows 7+
- #53911 DC++ can't retrieve file list from another user
- #53912 Static initialization in Winelibs may hang the loader as of Wine 7.21
- #53918 Building with external PE libraries fails when static libraries are also installed
- #53941 Chicken Tournament crashes on start
- #53976 ntoskrnl.exe:ntoskrnl - test_pnp_devices() fails on Windows 7
- #53977 amstream:amstream qedit:mediadet mf:transform mfmediaengine:mfmediaengine quartz:filtergraph winmm:mci wmp:media wmvcore:wmvcore mf:mf mfplay:mfplay qasf:asfreader broken on Debian Testing
- #53980 httpapi:httpapi sometimes crashes testing overlapped I/O with the v2 server in Wine
- #53990 Serious Sam 2 crashes with OpenGL renderer
- #54000 user32:win - test_mouse_input() gets an unexpected 0x60 message on Windows 11
- #54060 Compilation fails with gcc 4.8.4 (Error: junk at end of line, first unrecognized character is `"')
- #54085 windows.devices.enumeration:devices - test_DeviceAccessInformation() sometimes crashes on Windows 10
- #54094 kernel32:process - test_services_exe() sometimes fails due to an invalid buffer size in Windows
- #54096 Non-PE builds broken since "ntdll: Move the .so module initialization to winecrt0."
- #54101 unimplemented function MSVCP70.dll.?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
- #54105 taskschd:scheduler fails on Windows 10 1607+
- #54121 8.0-rc1 build fails with errors in bcrypt in Ubuntu 18.04
----------------------------------------------------------------
Changes since 8.0-rc1:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (4):
include: Add _recalloc.
joy: Correct spelling of "overridden".
dswave: Don't force a calling convention on internal functions.
po: Update Catalan translation.
Alexandre Julliard (14):
winecrt0: Include windef.h to get definitions needed on FreeBSD.
winegcc: Add -ldl when linking .so files.
oleaut32: Fix A<->W conversion when storing names in typelibs.
kernel32/tests: Fix a string comparison test in utf-8 locales.
d3d9/tests: Mark a few more message tests as flaky.
winebuild: Use new ELF tag ids also on 64-bit.
winebuild: Disable relay for non-standard fastcall parameters.
winegcc: Check for Mingw-style .dll.a import libraries.
ntdll: Match a timezone change happening at 23:59:59 with the following day.
d3d8/tests: Mark a zero-size pixel test as todo.
d3d9/tests: Mark a zero-size pixel test as todo.
d3d9/tests: Mark some of the depth bias tests as todo.
d3d8/tests: Don't require WM_MOVE on window reactivation.
d3d8/tests: Make sure that the window has focus before testing loss of focus.
Eric Pouech (14):
d3dx9/tests: Avoid a GCC warning (-Wsizeof-array-div).
rpcrt4: Pass a common header to RPCRT4_BuildCommonHeader.
rpcrt4: Fix GCC12.2 warnings.
kernel32/tests: Fix a debugger test failing on Windows.
ntdll: Fix export and calling convention of RtlUlonglongByteSwap().
ntdll/tests: Add tests for RtlU(long|short)ByteSwap().
ntdll: Implement RtlU(short|long)ByteSwap() using fastcall bits.
kernel32/tests: Fix failing debugger test on Win7.
kernel32/tests: Improve loading of debugger's test children results.
kernel32/tests: Handle some variations in process start debug events.
kernel32/tests: Test that control characters can be read & stored.
conhost: Don't print control characters for Unix tty.
kernel32/tests: Silence a failing test on Win10+.
kernel32/tests: Skip some console tests on w1064v1909.
Fabian Maurer (2):
user32/tests: Ignore undocumented Win11 message.
urlmon: Pass correct parameter to realloc and simplify code (Coverity).
Gabriel Ivăncescu (6):
mshtml: Fix document fragment's inner window leak.
mshtml: Fix previous EventObj leak.
jscript: Release converted args after invoking.
jscript: Fix array ref leak when setting element.
jscript: Fix refcount trace's long type format specifier.
jscript: Fix JSCaller Release refcount.
Gerald Pfeifer (4):
winebus.sys: Fix the build without HAVE_SYS_INOTIFY_H.
libwine: Only define exe_link when needed.
wmc: Avoid uninitialized variable in init_argv0_dir.
winebus.sys: Declare a variable only when used.
Hans Leidekker (1):
bcrypt: Add PSS compatibility defines.
Huw D. M. Davies (10):
winemac: Fix printf format warnings in clipboard.c.
winemac: Fix printf format warnings in display.c.
winemac: Use a designated initializer to silence a compiler warning.
winemac: Fix printf format warnings in event.c.
winemac: Fix LONG vs int mismatch.
winemac: Fix printf format warnings in keyboard.c.
winemac: Fix printf format warnings in mouse.c.
winemac: Fix printf format warnings in window.c.
winemac: Fix remaining printf format warnings.
ntdll: Only compile get_current_teb() on linux.
Jacek Caban (5):
win32u: Call init_window_call_params after WH_CALLWNDPROC hook in call_window_proc.
win32u: Convert inter-process messages to Unicode.
win32u/tests: Add inter-process message tests.
urlmon/tests: Use gitlab.winehq.org host in can_do_https.
shell32: Always set last error in Shell_NotifyIconW.
Michael Stefaniuc (3):
dmime: Split the segment object creation into a separate helper.
dmime: Implement the IDirectMusicSegment8_Clone() method.
dmcompos: Return a valid pointer from ComposeSegmentFromTemplate().
Paul Gofman (9):
bcrypt: Do not error out for GNUTLS_ECC_CURVE_SECP384R1 in key_export_ecc().
bcrypt: Use SecureZeroMemory() to zero magic values before free.
bcrypt: Return correct error from key_asymmetric_encrypt() if key is missing.
bcrypt: Set pubkey from privkey in key_asymmetric_import().
bcrypt/tests: Test BCRYPT_PAD_NONE encryption result in test_rsa_encrypt().
winhttp: Check for NULL lpszAutoConfigUrl in WinHttpGetProxyForUrl().
winhttp: Handle state in a single switch in receive_response().
winhttp: Only read server reply in send_request() if the whole request is sent.
ddraw/tests: Release ddraw after device in test_texture_wrong_caps().
Piotr Caban (4):
winspool/tests: Fix test failures on Windows 11.
shell32: Store NameSpace registry path in global variable.
shell32: Add partial ControlPanel GetAttributesOf implementation.
shell32: Fix SHChangeNotify test failures.
Robert Wilhelm (1):
vbscript: Fix spelling in a FIXME message.
Ryan Hendrickson (1):
wined3d: Recognize AMD as a vendor string.
Rémi Bernon (23):
winevulkan: Skip asserts for some critical functions.
winevulkan: Skip traces for some critical functions.
winevulkan: Return void for some critical functions.
user32/tests: Don't expect WM_DISPLAYCHANGE with the default display mode.
user32/tests: Use %d to print last_bpp instead of %u.
hidclass.sys: Make sure a desktop is created for the driver process.
dinput/tests: Unregister rawinput devices after tests.
dinput/tests: Remove old physical joystick tests.
dinput/tests: Avoid using INFINITE timeouts.
dinput/tests: Use semaphores to count and notify rawinput messages.
dinput/tests: Add a device count parameter to hid_device_(start|stop).
dinput/tests: Wait for each device interface to start / stop.
user32/tests: Test EnableMouseInPointer behavior.
user32/tests: Test IsMouseInPointerEnabled behavior.
user32/tests: Test GetPointerInfo behavior with EnableMouseInPointer.
user32/tests: Move old GetPointerType tests into test_GetPointerInfo.
user32/tests: Test GetPointer(Frame)Info(History) behavior.
dinput/tests: Factor async await together with some new helpers.
dinput/tests: Test windows.gaming.input infinite effect duration.
dinput/tests: Test dinput force feedback effect envelope removal.
Revert "qasf: Register ASF Reader filter media type."
opengl32/tests: Test wglChoosePixelFormatARB flags filters.
winex11: Check pixel format flags in X11DRV_wglChoosePixelFormatARB.
Shaun Ren (2):
mfmediaengine: Change media_engine_Shutdown FIXME to TRACE.
mfmediaengine: Pause the session in media_engine_Pause.
Sven Baars (2):
win32u: Account for 16-bit instances in find_class().
wined3d: Do not explicitly check 3D depth/stencil capabilities in wined3d_check_device_format().
Torge Matthies (1):
ntdll: Make sure xmm6-xmm15 are always restored in unix call dispatcher.
Zebediah Figura (21):
win32u: Downgrade the NtOpenFile ERR to a WARN in add_device().
include: Add CONFIGFLAG_* definitions.
ntoskrnl/tests: Ignore CONFIGFLAG_FINISH_INSTALL on the child device.
ws2_32/tests: Add tests for state inherited by accept().
server: Inherit address reuse flags in accept_socket().
server: Inherit the SO_SNDBUF value in accept_socket().
server: Inherit the SO_RCVBUF value in accept_socket().
server: Inherit the SO_SNDTIMEO value in accept_socket().
server: Inherit the SO_RCVTIMEO value in accept_socket().
wined3d: Require depth bias clamp to create a feature level 10.0 device.
wined3d: Disable wide line support.
wined3d: Require precise occlusion queries to create a feature level 9.2 device.
wined3d: Require pipeline statistics queries to create a feature level 10.0 device.
wined3d: Require vertex pipeline image stores and atomics to create a feature level 11.1 device.
wined3d: Always bind to GL_ELEMENT_ARRAY_BUFFER if the bind flags include WINED3D_BIND_INDEX_BUFFER.
win32u: Set the width and height when creating a caret from an existing bitmap.
httpapi: Allow passing NULL size to HttpReceiveHttpRequest().
httpapi: Allow passing NULL size to HttpReceiveRequestEntityBody().
httpapi/tests: Test passing NULL size to request reading functions.
d3d9/tests: Test GenerateMipSubLevels() on a managed texture.
d3d9: Upload the relevant texture in d3d9_texture_gen_auto_mipmap().
Ziqing Hui (7):
mf/tests: Test GetOutputType for WMV decoder.
mf/tests: Test info headers returned by GetOutputType for WMV decoder.
mf/tests: Shorten test messages.
mf/tests: Introduce check_dmo_set_input_type.
mf/tests: Use one input type for GetOutputType tests.
mf/tests: Test SetOutputType for WMV decoder.
mfplat/tests: Add MEDIASUBTYPE_RGB* and NV11 image size tests.
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.
The Wine team is proud to announce that release 1.6 of vkd3d, the Direct3D to
Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Initial support for HLSL compute shaders.
- More support for HLSL features and intrinsics.
- Miscellaneous bug fixes.
The source is available from the following location:
https://dl.winehq.org/vkd3d/source/vkd3d-1.6.tar.xz
The current source can also be pulled directly from the git repository:
https://gitlab.winehq.org/wine/vkd3d.git
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
----------------------------------------------------------------
What's new in vkd3d 1.6
=======================
*** libvkd3d-shader
- New features for the HLSL source type:
- Initial support for compute shaders.
- Improved support for initialisation and assignment of compound objects
like structures and arrays, including casts and implicit conversions.
- Support for loads and stores of texture resource unordered-access views.
- Support for function attributes. In particular, the required "numthreads"
attribute for compute shader entry points is now supported.
- Support for the asuint() intrinsic function.
- Support for the length() intrinsic function.
- Support for the normalize() intrinsic function.
- Support for integer division and modulus.
- Support for taking the absolute value of integers.
- Support for floating-point modulus.
- New interfaces:
- The VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS descriptor info flag is
used to indicate that atomic operations are used on unordered-access view
descriptors.
*** libvkd3d-common
- vkd3d debug output is prefixed with "vkd3d:" in order to make it easier to
distinguish from output produced by applications or other libraries.
*** demos
- The demos now use libvkd3d-shader to compile HLSL shaders at run-time.
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.