1 The Wine development release 8.2 is now available.
3 What's new in this release:
4 - Better debug information in Wow64 mode.
5 - Wow64 thunks in the WPCAP library.
6 - Indeo IV50 codec support.
7 - Monitor names set from EDID data.
10 The source is available at:
12 https://dl.winehq.org/wine/source/8.x/wine-8.2.tar.xz
14 Binary packages for various distributions will be available from:
16 https://www.winehq.org/download
18 You will find documentation on https://www.winehq.org/documentation
20 You can also get the current source directly from the git
21 repository. Check https://www.winehq.org/git for details.
23 Wine is available thanks to the work of many people. See the file
24 AUTHORS in the distribution for the complete list.
26 ----------------------------------------------------------------
28 Bugs fixed in 8.2 (total 22):
30 - #48528 The Void crashes with builtin d3dx9_36 (needs D3DXFillCubeTextureTX() to return S_OK)
31 - #51345 Regression: Visual Studio 2005 "package load failure"
32 - #51545 STDOUT lost from a forked program on Cygwin/MSYS2
33 - #53747 SubLab VST3 plugin fails to register (needs Windows.System.Profile.SystemManufacturers.SmbiosInformation)
34 - #53926 New typelib marshaller depends on IID_IDispatch support from target interface
35 - #54103 opengl32:opengl - test_copy_context() crashes on w11pro64_nv
36 - #54150 d3dcompiler_43:hlsl_d3d11 & d3dcompiler_47:hlsl_d3d11 - test_trig() fails on w11pro64_nv
37 - #54234 vbscript fails to compile when colon follows Else in If...Else
38 - #54318 Rich Edit inserts newly composed text at wrong position when system IME composition ends while a selection is active
39 - #54371 loader won't launch from PATH unless named "wine"
40 - #54384 GOG Heroes of Might and Magic IV crashes on launch
41 - #54431 Switching active window (alt+tab or otherwise) away from Final Fantasy XI causes keyboard keys to remain pressed
42 - #54456 vbscript memory leak in For Each with SafeArray as group
43 - #54457 vbscript memory leaks in interp_redim_preserve
44 - #54458 vbscript memory leaks in Global_Split
45 - #54463 Wrong version value is returned from win32_operatingsystem on win10 (regression)
46 - #54465 dbghelp:dbghelp - The 64-bit test_modules() fails on Windows 7
47 - #54477 user32:msg - test_message_conversion()'s broadcast test fails on Windows 7 and 10
48 - #54486 getenv_s returns the wrong value
49 - #54489 VarAbs() does not handle BSTR arguments correctly
50 - #54490 vbscript fails to compile when statement follows ElseIf
51 - #54493 vbscript fails to compile concat when used without space and expression begins with H
53 ----------------------------------------------------------------
58 msi: Handle memory allocation failure in get_link_file (cppcheck).
59 setupapi: Fix memory leak on realloc failure in RetreiveFileSecurity.
60 combase: Avoid calling RtlInitUnicodeString on a static constant.
61 nsiproxy: Avoid calling RtlInitUnicodeString on a static constant.
62 winhlp32: Fix memory leak on realloc failure in HLPFILE_RtfAddBitmap (cppcheck).
63 ole32: Avoid calling RtlInitUnicodeString on a static constant.
64 httpapi: Avoid calling RtlInitUnicodeString on a static constant.
65 msi: Annotate memory allocation functions with __WINE_(DEALLOC|MALLOC).
66 http: Avoid calling RtlInitUnicodeString on a constant.
67 services: Avoid calling RtlInitUnicodeString on a static constant.
68 winebus: Avoid calling RtlInitUnicodeString on a static constant.
69 mountmgr: Avoid calling RtlInitUnicodeString on a static constant.
70 win32u: Avoid calling RtlInitUnicodeString on a static constant.
71 wineboot: Avoid calling RtlInitUnicodeString on a static constant.
72 ws2_32: Avoid calling RtlInitUnicodeString on a static constant.
73 ntdll: Use RTL_CONSTANT_STRING instead of reimplementing it.
74 ntdll: Avoid calling RtlInit(Ansi|Unicode)String on a static constant.
75 winspool: Remove unnecessary call to RtlInitUnicodeString from add_printer_driver.
76 krnl386: Avoid calling RtlInitUnicodeString on a static constant.
77 wow64: Avoid calling RtlInitUnicodeString on a static constant.
78 kernelbase: Avoid calling RtlInitUnicodeString on a static constant.
79 ntoskrnl: Avoid calling RtlInitUnicodeString on a static constant.
80 winspool: Initialize nt_ppd in add_printer_driver.
82 Alexandre Julliard (25):
83 winedump: Print more information from the PE Load Config directory.
84 winedump: Initial support for dumping PE dynamic relocations.
85 gitlab: Force updating configure.
86 wow64: Move some exception and context functions to syscall.c.
87 wow64: Preserve the CPURESERVED flags across user callbacks.
88 wow64: Call the CPU backend to get/set the current thread context.
89 wow64: Call the thread init entry point in the CPU backend.
90 ntdll: Use the standard unixlib macro for Unix calls.
91 ntdll: Store the unixlib handle at ntdll load time.
92 ntdll: Replace the __wine_dbg_write() syscall by a Unix call.
93 ntdll: Replace the __wine_unix_spawnvp() syscall by a Unix call.
94 ntdll: Replace the wine_server_call() syscall by a Unix call.
95 ntdll: Replace the wine_server_fd_to_handle() syscall by a Unix call.
96 ntdll: Replace the wine_server_handle_to_fd() syscall by a Unix call.
97 winedump: Dump the alternate version of some data directories for hybrid PE dlls.
98 winedump: Dump the metadata of hybrid PE dlls.
99 browseui: Use standard va_list instead of __ms_va_list.
100 comdlg32: Use standard va_list instead of __ms_va_list.
101 cryptui: Use standard va_list instead of __ms_va_list.
102 dxdiagn: Use standard va_list instead of __ms_va_list.
103 oledlg: Use standard va_list instead of __ms_va_list.
104 setupapi: Use standard va_list instead of __ms_va_list.
105 wineusb.sys: Use standard va_list instead of __ms_va_list.
106 ntdll: Consistently initialize x86-64 signal handlers.
107 ntdll: Avoid a misleading indentation warning.
109 Alistair Leslie-Hughes (5):
110 odbccp32: Append DLL path when loading driver.
111 include: Add missing SQL prototype.
112 msdasql: Use SQLDriverConnectW to connect to the ODBC driver.
113 msdasql: Always return affected rows if required.
114 msdasql: Use SQLColAttributesW to fetch statement attributes.
117 maintainers: Remove myself as maintainer of wpcap.
120 po: Update Lithuanian translation.
123 kernelbase: Implement QueryInterruptTime.
124 kernelbase: Partially implement QueryInterruptTimePrecise.
125 loader: In macOS preloader, fix an environment variable sometimes being lost.
126 ntdll/tests: Test NtMapViewOfSection with a 64-bit DLL and zero_bits > 31.
127 ntdll: Respect zero_bits/limit when mapping a PE file.
128 include: Add __ASM_LOCAL_LABEL macro.
129 ntdll: Use __ASM_LOCAL_LABEL in syscall dispatchers.
130 server: On macOS, fake debug registers when running under Rosetta.
131 ntdll: Add a WARN when setting debug registers fails under Rosetta.
134 include: Fully define uiautomationclient interfaces.
135 uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Event GUIDs.
136 include: Define UI Automation pattern provider interfaces.
137 uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Pattern GUIDs.
138 uiautomationcore: Add UiaRaiseStructureChangedEvent stub.
139 uiautomationcore: Add UiaRaiseAsyncContentLoadedEvent stub.
140 uiautomationcore: Add UiaRaiseTextEditTextChangedEvent stub.
141 uiautomationcore: Add UiaRaiseNotificationEvent stub.
142 uiautomationcore: Add UiaRaiseChangesEvent stub.
143 uiautomationcore: Add support for UIA_BoundingRectanglePropertyId.
144 uiautomationcore: Add support for UIA_ValueIsReadOnlyPropertyId.
145 uiautomationcore: Implement get_BoundingRectangle for MSAA providers.
146 uiautomationcore: Add support for UIA_NamePropertyId to MSAA providers.
148 Dmitry Timoshkov (2):
149 rpcrt4: Mark the buffer as invalid in NdrProxyFreeBuffer().
150 rpcrt4: Avoid casting an object to IUnknown.
153 conhost: Only update font when running with a window.
154 dbghelp: Stop unwinding on potential 64bit frame for i386 cpu.
155 dbghelp: Add tests about modules loading.
156 dbghelp: Allow loading modules for different machines.
157 dbghelp: Filter on machine when searching for Wine system PE modules.
158 winedbg: Handle multi-machine process in command 'info share'.
159 winedbg: Don't expose module whose machine isn't the process' one to gdb.
160 dbghelp: Identify a 32bit multi-arch wow64 debuggee as a live target.
161 winedump: Introduce ability to pass several section names to -j option.
162 winedump: Refactor PDB DBI per-module dump in a dedicated function.
163 winedump: Make use of -j option in PDB dumping.
164 winedump: Dump some more MSF related information.
165 winedump: Load once and store global PDB string table.
166 winedump: Enhance dumping of string tables.
167 winedump: Dump some more bits out of public stream.
168 dbghelp: Fix failing test on Windows 7.
169 include: Add manifest constants for EnumProcessModulesEx.
170 psapi: Let modules test pass on non wow64 compatible platforms.
171 psapi: Add tests for EnumProcessModulesEx().
172 kernelbase: Implement EnumProcessModulesEx.
173 kernelbase: Let GetModuleBaseName succeed on 64bit modules in wow64.
174 kernelbase: Let GetModuleFileNameEx succeed on 64bit modules in wow64.
175 kernelbase: Let GetModuleInformation succeed on 64bit modules in wow64.
176 riched20/tests: Add tests when pasting in plain text mode.
177 riched20: Support SFF_SELECTION when streaming in plain text.
178 riched20/tests: Ensure clipboard has been pasted before testing the result.
179 riched20/tests: Add retry loop around OpenClipboard() to avoid access denial.
180 psapi/tests: Test directory of enumerated loaded modules.
181 dbgeng: Use EnumProcessModulesEx().
182 dbghelp: Use EnumProcessModulesEx().
183 psapi: Add more tests for EnumProcessModules().
184 kernelbase: Re-implement EnumProcessModules on top of EnumProcessModulesEx.
185 dbghelp/tests: Test return value of SymLoadModule.
186 dbghelp/tests: Add tests for 'module' name in EnumLoadedModules() callback.
187 dbghelp: Let EnumerateLoadedModules() expose image names.
188 dbghelp/tests: Add test for loaded modules enumeration.
189 dbghelp/tests: Add some more tests about module handling.
190 dbghelp: Add new module at end of the process' modules list.
191 dbghelp: Unload overlapping modules in SymLoadModule*().
192 ntdll: Implement RtlAddressInSectionTable.
194 François Gouget (22):
195 winetest: Don't use plain strings as format specifiers.
196 winetest: Avoid an infinite loop in vstrfmtmake() when the format is NULL.
197 d3dcompiler/tests: Allow more imprecision in test_trig() for NVIDIA.
198 crypt32/tests: Fix a typo in a comment.
199 dbghelp: Fix a typo in a comment.
200 kernel32/tests: Fix a typo in a comment.
201 spoolss/tests: Fix a typo in a comment.
202 uiautomationcore: Fix a typo in a FIXME() message.
203 winegstreamer: Fix a typo in a comment.
204 winevulkan: Fix a typo in a comment.
205 winex11.drv: Fix a typo in a comment.
206 winevulkan: Add a trailing linefeed to some FIXME() thunk messages.
207 dpnet/tests: Fix the unexpected async handle traces.
208 atl100/tests: Trace GetLastError() when DeleteFile() fails.
209 riched20/tests: Check clipboard content after destroying the editor window.
210 riched20/tests: Add context to the EM_FORMATRANGE tests.
211 winetest: Trace the keyboard layout.
212 user32/tests: Fix the ToAscii(A) test on Hindi + UTF-8.
213 user32/tests: Show ToAscii(A) returns 'a' for multiple keyboard layouts.
214 ntdll/tests: Test the thread pool stack APIs.
215 ntdll: Use the thread pool stack information.
216 ws2_32: Warn that a libnss plugin may be missing if getaddrinfo() returns EBUSY.
218 Gabriel Ivăncescu (1):
219 kernelbase: Fix grouping repeat for number formatting.
221 Giovanni Mascellani (1):
222 wbemprox: Do not call Release() inside wbemprox_cf_CreateInstance().
225 ntdll: Initialize PEB version numbers with Windows 10 values.
226 ntdll: Look at CurrentMajor/MinorVersionNumber registry values before CurrentVersion.
227 configure: Check for pcap_init() instead of pcap_create().
228 wpcap: Sync spec file with latest version of libpcap.
229 wpcap: Make Unix call parameters wow64 compatible.
230 wpcap: Fix an off-by-one error in convert_length_to_ipv6_mask().
231 wpcap: Implement pcap_bufsize().
232 wpcap: Implement pcap_dump_close().
233 wpcap: Implement pcap_init().
234 wpcap: Reimplement pcap_loop() on top of pcap_next_ex().
235 wpcap: Enable UTF-8 encoding in libpcap.
236 wpcap: Add wow64 thunks.
237 wpcap: Try to enable 32-bit mmap() support in libpcap.
238 wpcap/tests: Initial tests.
240 Huw D. M. Davies (1):
241 rpcrt4/tests: Remove a failing test.
244 winegstreamer: Add missing *out=NULL in unknown_inner_QueryInterface.
245 wmvcore: Add missing *out=NULL in WMReader_QueryInterface.
246 wmvcore/tests: Check out value for NULL in check_interface.
249 wininet/tests: Add more InternetSetFilePointer tests.
250 oleaut32: Remove overflow check for VT_R4 and VT_R8 in VarAbs.
253 wininet: Partially implement InternetSetFilePointer.
254 wininet/tests: Add InternetSetFilePointer tests.
257 vbscript: Fix memory leak in Split().
258 vbscript: Fix memory leak in Split().
259 vbscript: Add missing stubs for GetLocale and SetLocale builtins.
260 vbscript: Fix compile when colon follows Else on new line.
261 vbscript: Fix memory leak in owned safearray iterator.
262 oleaut32: Fix VarAbs function for BSTR with positive values.
263 vbscript: Fix compile when statement after ElseIf or after separator.
264 vbscript: Fix compile issue with non hex after concat without space.
267 ntdll/tests: Update test_RtlUniform to match Windows Vista or later.
268 ntdll: Fix integer overflow in RtlUniform.
271 wined3d: Move the WINED3D_RS_ANTIALIAS stub to wined3d_device_apply_stateblock.
272 wined3d: Move the WINED3D_RS_TEXTUREPERSPECTIVE stub to wined3d_device_apply_stateblock.
273 wined3d: Move the WINED3D_RS_WRAPU stub to wined3d_device_apply_stateblock.
274 wined3d: Move the WINED3D_RS_WRAPV stub to wined3d_device_apply_stateblock.
275 wined3d: Move the WINED3D_RS_MONOENABLE stub to wined3d_device_apply_stateblock.
277 Michael Stefaniuc (3):
278 mshtml/tests: Actually test a return value.
279 d3d11/tests: Actually test the return of CreateRasterizerState().
280 ntdll/tests: Remove some Vista broken broken(<constant>) calls.
283 include: Add realtimeapiset.h file.
284 kernelbase: Partially implement QueryUnbiasedInterruptTimePrecise.
285 include: Add DirectX 12 Agility SDK definitions.
286 d3d12core: Add stub DLL.
287 include: Add windows.ui.viewmanagement.idl file.
288 windows.ui: Add stub DLL.
289 windows.ui: Add IUISettings3 stub interface.
290 windows.ui/tests: Add IUISettings3::GetColorValue() tests.
291 windows.ui: Implement IUISettings3::GetColorValue().
294 apisetschema: Add ext-ms-win-networking-wlanapi-l1-1-0.
297 winegstreamer: Implement _GetInputStatus() for h264 decoder transform.
298 winegstreamer: Implement _GetInputStatus() for aac decoder transform.
299 winegstreamer: Set MF_SA_D3D11_AWARE attribute for h264 transform.
300 mf/session: Avoid dropping samples delivered from transform in session_request_sample_from_node().
301 bcrypt/tests: Add more tests for AES initialization vectors.
302 bcrypt: Update init vector after encrypt or decrypt.
303 bcrypt: Only reset init vector if the new vector is non-NULL.
304 imm32: Disable cross thread access for ImmSetCompositionString().
305 win32u: Remove monitor name from gdi driver monitor info.
306 win32u: Use monitor ID from EDID when available.
307 win32u: Store EDID info in monitors cache.
308 win32u: Return edidManufactureId and edidProductCodeId from NtUserDisplayConfigGetDeviceInfo().
309 win32u: Get friendly monitor name from EDID in NtUserDisplayConfigGetDeviceInfo().
310 winegstreamer: Route MFAudioFormat_RAW_AAC to mf_media_type_to_wg_format_audio_mpeg4().
311 winegstreamer: Fix getting codec data for raw aac.
312 winegstreamer: Use default 0 for _AAC_PAYLOAD_TYPE if not set.
313 mf/tests: Add basic tests for raw aac decode.
316 msvcrt: Don't crash on NULL argument in getenv.
317 msvcrt: Don't crash on NULL argument in _wgetenv.
318 msvcrt: Improve error handling in getenv_s.
319 msvcrt: Improve error handling in _wgetenv_s.
322 include: Add new kbd.h header with KBDTABLES definition.
323 win32u: Use KBDTABLES for default NtUserGetKeyNameText.
324 include: Add VSC_VK constants definitions to kbd.h.
325 win32u: Use KBDTABLES for NtUserMapVirtualKeyEx VSC / VK mapping.
326 include: Add VK_TO_WCHARS constants definitions to kbd.h.
327 win32u: Use KBDTABLES for NtUserMapVirtualKeyEx MAP_VK_TO_CHAR.
328 win32u: Use KBDTABLES for NtUserVkKeyScanEx.
329 win32u: Use KBDTABLES for NtUserToUnicodeEx.
330 joy.cpl: Process messages while waiting for the input threads.
331 joy.cpl: Refresh the DInput button display on device change.
332 joy.cpl: Improve the DInput button display with many buttons.
333 joy.cpl: Use the DIJOYSTATE2 user data format to support more buttons.
334 winebuild: Use .incbin instead of printf for resource data.
335 dinput: Split dinput_unacquire_window_devices helper.
336 dinput: Name input thread message and wparam values.
337 dinput: Use a WH_CBT hook instead of WH_CALLWNDPROC.
338 dinput: Introduce keyboard_handle_key_event helper.
339 dinput: Avoid entering the hook CS in input_thread_ll_hook_proc.
340 dinput: Merge mouse and rawmouse acquired lists.
341 dinput: Merge all acquired device lists together.
342 dinput: Use rawinput interface for keyboard device.
343 include: Move ddk/imm.h to immdev.h.
344 include: Fix ImeInquire declaration.
345 include: Fix ImeToAsciiEx declaration.
346 include: Add Imm(Get|Set)HotKey declarations.
347 dinput: Forbid acquiring for other process windows.
348 dinput: Hook window threads instead of the entire prefix.
351 ir50_32: Add stub dll.
352 ir50_32: Implement IV50_GetInfo.
353 ir50_32: Implement IV50_DecompressQuery.
354 ir50_32: Implement IV50_DecompressGetFormat.
355 winegstreamer: Add video_decoder stub.
356 ir50_32: Implement open and close.
357 winegstreamer: Add WG_MAJOR_TYPE_VIDEO_INDEO video type.
358 winegstreamer: Implement basic functionality for video_decoder.
359 ir50_32: Implement decompression.
360 wine.inf: Enable ir50_32 video codec.
362 Zebediah Figura (28):
363 wined3d: Make depth bounds test a proper state and handle it in wined3d_device_apply_stateblock().
364 setupapi/tests: Add tests for FLG_ADDREG_APPEND.
365 setupapi: Fail installation when trying to append to a registry value of the wrong type.
366 setupapi: Create the registry value if it doesn't exist in append_multi_sz_value().
367 wine.inf: Always use FLG_ADDREG_APPEND for SvcHost entries.
368 scardsvr: Add stub service.
369 oleaut32: Manually construct a stub buffer for dispinterfaces.
370 ws2_32: Forbid passing zero buffers to WSARecv().
371 mfreadwrite/tests: Avoid depending on sample size in test_source_reader().
372 mfreadwrite/tests: Test an audio/video file.
373 winegstreamer: Check the absolute value of the height in mf_media_type_from_wg_format_video().
374 winegstreamer: Separate a mf_video_format_to_wg() helper.
375 user32/tests: Add a register_class() helper.
376 user32/tests: Use ok() instead of assert().
377 user32/tests: Avoid leaking a window in test_message_conversion().
378 user32/tests: Test WM_DEVICECHANGE Unicode conversion.
379 user32/tests: Remove BroadcastSystemMessage() test for WM_DEVICECHANGE.
380 user32: Pass BSMINFO in BroadcastSystemMessageExA().
381 ddraw/tests: Remove unnecessary skips and conditionals from test_pixel_format().
382 d3d9/tests: Test that presenting does not set the pixel format on a window without one.
383 d3d8/tests: Test that presenting does not set the pixel format on a window without one.
384 ddraw/tests: Test that presenting does not set the pixel format on a window without one.
385 wined3d: Introduce wined3d_texture_get_swapchain().
386 dxgi: Implement IDXGIResource::GetUsage().
387 d3d11: Expand tests for IDXGIResource.
388 wined3d: Destroy objects belonging to wined3d_context_vk.completed_command_buffer_id.
389 wined3d: Destroy objects belonging to wined3d_device_gl.completed_fence_id.
390 mfsrcsnk: Add missing DllGetClassObject() export.
393 mfplat: Fix stride calculation for RGB24.
394 mfplat: Support YVYU, NV11, MEDIASUBTYPE_RGB* media types.
395 winegstreamer: Implement GetOutputType for WMV decoder.
396 winegstreamer: Implement SetOutputType for WMV decoder.
397 mf/tests: Test GetOutputSizeInfo for WMV decoder.
398 winegstreamer: Implement GetOutputSizeInfo for WMV decoder.