1 The Wine development release 7.11 is now available.
3 What's new in this release:
4 - Android driver converted to PE.
5 - Zero-copy support with GStreamer.
6 - High Unicode planes support in case mappings.
9 The source is available at:
11 https://dl.winehq.org/wine/source/7.x/wine-7.11.tar.xz
13 Binary packages for various distributions will be available from:
15 https://www.winehq.org/download
17 You will find documentation on https://www.winehq.org/documentation
19 You can also get the current source directly from the git
20 repository. Check https://www.winehq.org/git for details.
22 Wine is available thanks to the work of many people. See the file
23 AUTHORS in the distribution for the complete list.
25 ----------------------------------------------------------------
27 Bugs fixed in 7.11 (total 34):
29 33381 Mayhem Triple renders too small
30 33383 Foobar2000 crashes on Alt-H
31 34176 Kernel32:CompareStringW strange behavior ?
32 35027 Euphoria needs CreateProcessInternalW function
33 36720 LCMapString with the parameter NORM_IGNORENONSPACE does not remove diacritics
34 39144 SpinTires tech demo wrong rendering after changing screen resolution
35 39298 kernel32 does not support custom nls installation.
36 45634 enabling CSMT ruins performance for rFactor 1.255
37 46281 Multiple Windows 7+ apiset-aware applications fail due to Wine loader lacking support for resolving virtual dlls via 'kernel32.GetModuleHandle' (Archicad 22)
38 46782 CompareStringEx does not support SORT_DIGITSASNUMBERS flag
39 49210 Mafia and Mafia II: Definitive Edition Launcher crashes with Wine-Mono
40 49232 Saints Row The Third Remastered shows floating black rectangles
41 50941 Multiple applications crash on unimplemented function WS2_32.dll.WSAConnectByName (TIP-Integral, EasyMiniGW)
42 50948 taskmgr.exe: wrong memory usage unit (GB => MB)
43 51243 In Wine dinput:keyboard fails if the keyboard layout does not match the display language
44 52663 Civilization 4: no text in main menu
45 52752 Rich Edit Control does not support drawing OLE objects
46 52795 Multiple applications crash in Mesa due to syscall stack overflow (Cyberpunk 2077, Stranger of Paradise, Doom Eternal with ray tracing)
47 52831 Kernel32::GetSystemPowerStatus returns invalid data if /sys/class/power_supply/BAT0 is missing
48 52841 Leverless arcade controller SOCD cleaning does not work
49 52885 Adobe Lightroom Classic 11.1 crash in user32
50 52893 GreedFall crashes on launch
51 52993 msi:action - test_publish() fails on date change
52 52995 shell32:shelllink crashes in Wine cause shell32:shellpath's test_PathResolve() to fail (test.bat file)
53 52998 xaudio2_7:xaudio2 fails on Windows 1909+
54 53029 Clipboard cut/paste partially broken in wine 7.8.1.2
55 53035 Displaying Out-GridView in Powershell Core crashes with WinVer > Win7
56 53038 Epic Games Launcher crashes on start
57 53076 Kvaser CanKing needs ntoskrnl.exe.KfRaiseIrql and ntoskrnl.exe.KeLowerIrql
58 53082 "explorer: Create clipboard manager thread when creating a desktop." causes hangs on wine startup
59 53102 Ubisoft Connect fails to connect to server
60 53112 winegstreamer build error
61 53136 crypt32:cert - testVerifyRevocation() fails in Wine
62 53138 crypt32:chain - testGetCertChain() fails in Wine
64 ----------------------------------------------------------------
69 msvcrt: Avoid passing an invalid LCID to LCMapStringW.
72 user32: Plug icon handle leak in MDI_AugmentFrameMenu (Coverity).
73 ntdll: Don't hard-code the battery and AC adapter names on Linux.
75 Alexandre Julliard (10):
76 make_unicode: Add data for high Unicode planes in case mapping tables.
77 kernelbase: Add support for high Unicode planes in LCMapStringEx().
78 kernel32/tests: Add tests for high Unicode planes.
79 ntdll/tests: Add tests for high Unicode planes.
80 faudio: Import upstream release 22.06.
81 kernelbase: Implement IsNLSDefinedString().
82 atl: Support escaped quotes in registrar scripts.
83 kernelbase: Add NORM_IGNORENONSPACE support in LCMapStringEx().
84 ntdll: Share a few more locale functions with the Unix side.
85 ntdll: Move the user locale initialization to the Unix side.
87 Alistair Leslie-Hughes (1):
88 d3drm: Pass all D3DRM_LOAD* flags directly through to CreateEnumObject() in IDirect3DRMMeshBuilder3::Load().
91 include: Remove duplicate ICodecAPI::GetParameterValues function.
94 include/windows.media.idl: Update file to newer formatting.
95 include/windows.media.idl: Move IMediaMarker collections from speechsynthesis.
96 include/windows.media.speechsynthesis.idl: Update file to newer formatting.
97 windows.media.speech/tests: Remove a useless thread id trace.
98 windows.media.speech/tests: Handle a possible race condition.
99 windows.media.speech/tests: Add basic tests for ssml/text to stream functions.
100 windows.media.speech: Return IAsyncOperation from synthesizer_SynthesizeTextToStreamAsync.
101 windows.media.speech: Return IAsyncOperation from synthesizer_SynthesizeSsmlToStreamAsync.
102 windows.media.speech: Add stub ISpeechSynthesisStream iface.
105 po: Update Traditional Chinese translation.
108 include: Add UI Automation Control Type ID definitions.
109 uiautomationcore/tests: Skip UiaProviderFromIAccessible tests on Win10v1507.
110 uiautomationcore: Use WindowFromAccessibleObject to get HWND in UiaProviderFromIAccessible.
111 uiautomationcore/tests: Store test IAccessible data in structures.
112 uiautomationcore: Implement UIA_ControlTypePropertyId for MSAA providers.
113 uiautomationcore: Implement MSAA accState based property IDs for MSAA providers.
114 uiautomationcore: Implement get_HostRawElementProvider for MSAA providers.
115 include: Add ILegacyIAccessibleProvider interface definition.
116 uiautomationcore: Add ILegacyIAccessibleProvider implementation for MSAA providers.
117 uiautomationcore: Add stub IRawElementProviderFragment for MSAA providers.
118 uiautomationcore/tests: Add navigation tests for MSAA providers.
119 uiautomationcore: Implement NavigateDirection_Parent for MSAA Providers.
120 uiautomationcore/tests: Release interfaces returned from get_HostRawElementProvider.
121 uiautomationcore: Implement NavigateDirection_{First/Last}Child for MSAA Providers.
122 uiautomationcore: Implement NavigateDirection_{Previous/Next}Sibling for MSAA providers.
123 include: Import IAccessible2 headers.
124 ia2comproxy: Introduce new proxy stub DLL for IAccessible2.
125 uiautomationcore: Add basic IAccessible2 support.
128 ntdll/tests: Test if RtlFormatMessage modifies va_list on error.
129 kernel32/tests: Test if FormatMessage modifies va_list on error.
130 kernelbase: Pass va_list copy to internal RtlFormatMessage.
133 mfreadwrite/tests: Test timestamp-based MF_SOURCE_READER_ANY_STREAM behavior.
134 mfreadwrite: Update source reader MF_SOURCE_READER_ANY_STREAM behavior based on tests.
136 Dmitry Timoshkov (1):
137 d2d1: Add partial support for image brushes.
139 Gabriel Ivăncescu (7):
140 mshtml: Expose IE10+ XMLHttpRequest props via private interface.
141 mshtml: Implement onabort for XMLHttpRequest.
142 mshtml: Implement onprogress for XMLHttpRequest.
143 mshtml: Implement onloadstart for XMLHttpRequest.
144 mshtml: Implement onloadend for XMLHttpRequest.
145 mshtml: Implement withCredentials for XMLHttpRequest.
146 jscript: Use LIST_FOR_EACH_ENTRY_SAFE to clear Map and Set objects.
149 winevulkan: Update to VK spec version 1.3.217.
151 Giovanni Mascellani (2):
152 mfplat/tests: Test interaction between Lock() and LockRect().
153 mfplat/tests: Test interaction between Lock2D() and LockRect().
156 winhttp: Fix default port corner cases in WinHttpCrackUrl().
157 cryptnet: Fail CRL verification if there's no issuer certificate.
158 cryptnet: Move revocation cache check to verify_cert_revocation_from_dist_points_ext().
159 cryptnet: Fall back to online CRL verification if OCSP verification fails.
160 winhttp: Release object on allocation failure.
163 conhost: Show caret immediately after reshaping.
164 conhost: Update debug output and comments when loading/saving settings.
167 wineandroid: Use ntdll for UTF8 conversion.
168 wineandroid: Don't use unicode.h.
169 wineandroid: Remove audio driver.
170 wineandroid: Directly use ntdll for registry access.
171 wineandroid: Directly use win32u for GDI functions.
172 wineandroid: Implement desktop window proc using driver interface.
173 wineandroid: Directly use win32u for user calls.
174 wineandroid: Use pthread for locking in opengl.c.
175 wineandroid: Use pthread for window data locking.
176 wineandroid: Use pthread for surface locking.
177 wineandroid: Move DllMain to separated file.
178 wineandroid: Move wine_create_desktop_to dllmain.c.
179 wineandroid: Use libc for memory allocation.
180 wineandroid: Directly use ntdll instead of kernel32.
181 wineandroid: Move device thread to dllmain.c.
182 wineandroid: Use unixlib interface for register_window_callback.
183 win32u: Use public name for SetThreadDpiAwarenessContext.
184 wineandroid: Build with msvcrt.
185 mmdevapi: Remove android from default driver list.
186 jscript/tests: Add test for releasing script context objects.
187 jscript: Correctly handle deleted entries in iterate_map.
188 vbscript: Use return_bool in more places.
189 win32u: Don't call CopyImage with user lock in NtUserRegisterClassExWOW.
190 win32u: Don't call CopyImage with user lock in set_class_long.
191 win32u: Move NtUserLockWindowUpdate implementation from user32.
192 user32: Use a critical section in RegisterUserApiHook.
193 user32: Remove no longer needed helpers.
194 win32u: Remove no longer used __wine_set_user_driver PE entry point.
195 win32u: Move NtUserScrollWindowEx implementation from user32.
196 win32u: Move SetWindowContextHelpId implementation from user32.
197 win32u: Move NtUserDragDetect implementation from user32.
198 win32u: Move NtUserInternalGetWindowIcon implementation from user32.
199 winex11: Use LoadImageW in fetch_icon_data.
200 win32u: Move SC_SIZE and SC_MOVE handling from user32.
201 win32u: Allow passing simple LOGFONTW to NtGdiHfontCreate.
202 win32u: Move WM_NCPAINT handling from user32.
203 win32u: Move WM_NCACTIVATE implementation from user32.
204 win32u: Move GetDialogBaseUnits implementation from user32.
205 win32u: Simplify get_text_metr_size.
206 win32u: Move WM_NCCALCSIZE implementation from user32.
207 win32u: Move NtUserDrawMenuBarTemp implementation from user32.
208 win32u: Move MENU_DrawMenuBar implementation from user32.
209 win32u: Move PopupMenuWndProc implementation from user32.
210 user32: Reimplement GetMenuContextHelpId on top of GetMenuInfo.
211 win32u: Move NtUserMenuItemFromPoint implementation from user32.
212 win32u: Move WM_KEYF1 implementation from user32.
213 win32u: Move NtUserInvalidateRect and NtUserInvalidateRgn implementation from user32.
214 win32u: Move process default layout handling from user32.
215 win32u: Move WM_NCHITTEST implementation from user32.
216 win32u: Move WM_NCLBUTTONDOWN implementation from user32.
217 win32u: Move WM_NCRBUTTONDOWN implementation from user32.
218 win32u: Use NtUserCallHwnd for NtUserSetForegroundWindow.
219 win32u: Move menu tracking implementation from user32.
220 win32u: Move WM_CONTEXTMENU and WM_POPUPSYSTEMMENU implementation from user32.
221 win32u: Move NtUserDrawCaptionTemp implementation from user32.
222 win32u: Move WM_SETCURSOR implementation from user32.
223 win32u: Move WM_NCLBUTTONDBLCLK and WM_LBUTTONDBLCLK implementation from user32.
224 win32u: Move more WM_SYSCOMMAND implementation from user32.
225 win32u: Move NtUserGetTitleBarInfo implementation from user32.
228 dwmapi: Fill rateRefresh/rateCompose and qpcRefreshPeriod of DWM_TIMING_INFO from DwmGetCompositionTimingInfo().
229 dwmapi: Return S_OK from DwmFlush().
232 comctl32: Fix integer overflow in DPA_Search.
233 riched20/tests: Add tests for drawing embedded OLE objects.
234 riched20: Fetch extent from object if REOBJECT::sizel is unset.
235 riched20: Draw OLE objects with IViewObject implementation.
236 comctl32: Always paint SS_BITMAP static control background with WM_CTLCOLORSTATIC brush.
239 httpapi/tests: Move sleep statement.
240 httpapi/tests: Add tests for when URLs fail to be added to a queue.
241 httpapi: Stop setting group->url if add_url() fails.
242 http.sys: Add support for adding multiple urls to request queues.
245 po: Update Finnish translation.
248 wbemprox: Add a few properties to Win32_QuickFixEngineering.
249 advapi32: Fix spec entry for LookupPrivilegeDisplayName{A,W}.
252 ntdll: Add SEH unwind info in ARM assembly functions/trampolines.
253 ntdll: Use ControlPcIsUnwound for the RtlVirtualUnwind pc parameter in virtual_unwind.
254 ntdll: Take ControlPcIsUnwound into account on arm64 too.
255 ntdll/tests: Fix printing of incorrect exception handler data.
256 ntdll/tests: Test returning an exception handler on arm/arm64.
259 d3dx10/tests: Initialize a function argument.
260 d3dx10/tests: Add a test for loading an invalid resource from a valid module.
263 windows.gaming.input: Fix a leak on error path (Coverity).
264 secur32/schannel: Avoid use-after-free in AcquireClientCredentials() (Coverity).
265 kernelbase/tests: Move VirtualAllocFromApp() tests.
266 kernelbase: Implement VirtualAlloc2FromApp().
267 kernelbase/tests: Add some more tests for region splitting.
268 ntdll/tests: Add some tests for VM regions splitting.
269 d2d1: Use d3d11 constants for constant buffer description.
270 d3d11: Do not return uninitialized values on Map() failure.
271 d2d1: Update to ID2D1DeviceContext1.
272 d3d11/tests: Add some tests for IDXGIResource support.
273 dxgi/tests: Add a IDXGIResource support test for CreateSurface().
274 dxgi: Create DXGI resource object, optionally supporting surface interfaces.
275 d3d11: Add a helper to create DXGI resource objects.
276 d3d11: Always use dxgi resource private store for 1D and 2D textures.
277 d3d11: Create dxgi resource object for 3D textures.
278 d3d11: Create dxgi resource objects for buffers.
281 winhttp: Keep task in queue until completion.
282 winhttp: Implement reference counting for tasks.
283 winhttp: Fix dwResult field in websocket receive error result.
284 winhttp: Replace pending read cancel in WinHttpWebSocketClose() with a generic cancel_queue().
285 winhttp: Abort websocket IO on handle close.
286 winhttp: Support abort in task_socket_close().
287 winhttp/tests: Add tests for closing web socket with pending operations.
288 ws2_32: Check for valid socket in WSAGetOverlappedResult().
289 ntdll: Cancel asyncs when thread is terminated.
290 ws2_32/tests: Add tests for terminated thread asyncs completion.
291 winhttp: Introduce netconn_wait_overlapped_result() helper.
292 winhttp: Use completion port for async send.
293 ws2_32: Make wait in select() alertable.
294 ws2_32: Make wait in WS2_recv_base() alertable.
295 iphlpapi: Return ERROR_NO_DATA from GetIpNetTable() if no entries are found.
298 wow64: Fix NtQueryDirectoryObject wrapper.
299 d3dx10: Use CRT memory allocators.
300 d3dx11: Use CRT memory allocators.
301 d3dx10: Share code for file data loading.
302 d3dx10: Share code for resource data loading.
303 d3dx10: Add D3DX10CreateAsyncTextureInfoProcessor implementation.
304 d3dx10/tests: Add D3DX10CreateAsyncTextureInfoProcessor tests.
305 d3dx10: Don't ignore HRESULT parameter in D3DX10GetImageInfoFrom* functions.
306 d3dx10/tests: Add D3DX10GetImageInfoFromMemory HRESULT argument tests.
307 d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromFileW.
308 d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromResourceA.
309 d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromResourceW.
310 d3dx10: Support ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromMemory.
311 d3dx10/tests: Add D3DX10GetImageInfoFromMemory thread pump tests.
312 server: Always return Win32 error code from IOCTL_AFD_GET_SO_ERROR.
313 server: Don't reset socket error in poll_socket.
314 server: Don't reset socket error in IOCTL_AFD_GET_SO_ERROR.
315 d3dx10: Don't ignore HRESULT parameter in D3DX10CreateTextureFromMemory.
316 d3dx10/tests: Add D3DX10CreateTextureFromMemory HRESULT argument tests.
317 d3dx10: Exit early on volume textures in D3DX10CreateTextureFromMemory.
318 d3dx10: Add D3DX10CreateAsyncTextureProcessor stub.
319 d3dx10: Add D3DX10CreateAsyncTextureProcessor implementation.
320 d3dx10/tests: Add D3DX10CreateAsyncTextureProcessor tests.
321 d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromFileW.
322 d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromResourceA.
323 d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromResourceW.
324 d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromMemory.
325 d3dx10/tests: Add D3DX10CreateTextureFromMemory thread pump tests.
328 vbscript: Implement IsDate().
331 winegstreamer: Return void from align_video_info_planes.
332 windows.gaming.input: Consistently use FIXME for E_NOINTERFACE messages.
333 include: Add Windows.Gaming.Input.IGamepad2 interface declaration.
334 windows.gaming.input: Implement stub IGamepad2 interface.
335 winegstreamer: Introduce new wg_transform_(push|read)_mf helpers.
336 winegstreamer: Rename mf_(create|destroy)_wg_sample helpers.
337 winegstreamer: Introduce a new custom memory allocator.
338 winegstreamer: Support zero-copy output using the allocator.
339 winegstreamer: Support zero-copy in wg_transform_push_data.
340 dinput/tests: Avoid requiring foreground window in SetCooperativeLevel tests.
341 dinput/tests: Use dinput_test_(init|exit) for all tests.
342 dinput/tests: Merge device.c tests into device8.c.
343 ole32/tests: Update IStream_SetSize with large size test result.
344 ntdll: Add block padding when HEAP_ADD_USER_INFO flag is set.
345 kernelbase: Use HEAP_ADD_USER_INFO for HLOCAL allocations.
346 ntdll: Implement RtlSetUserValueHeap.
347 kernelbase: Use RtlSetUserValueHeap to store HLOCAL.
348 dinput/tests: Add some broken joystick axis results.
349 dinput: Fix DIPROP_FFGAIN mouse and keyboard tests.
350 dinput/tests: Run mouse info tests for every dinput version.
351 dinput/tests: Merge mouse.c tests into device8.c.
352 dinput/tests: Run keyboard info tests for every dinput version.
353 dinput/tests: Merge keyboard.c tests into device8.c.
354 ntdll: Implement RtlGetUserValueHeap.
355 kernel32: Use RtlGetUserInfoHeap in GlobalHandle.
356 kernelbase: Stop using an offset for HLOCAL pointers.
357 kernel32: Cleanup and simplify (Global|Local)Size.
358 kernel32: Cleanup and simplify (Global|Local)Handle.
359 kernelbase: Cleanup and simplify (Global|Local)ReAlloc.
360 ntdll: Rename HEAP to struct heap and remove typedef.
361 ntdll: Consistently name heap handles and pointers.
362 ntdll: Rename HEAP_GetPtr to unsafe_heap_from_handle.
363 ntdll: Use block_size and data_size in subheap structure.
364 ntdll: Remove heap pointer from SUBHEAP structure.
365 winebus.sys: Implement SOCD neutral cleaning for hatswitches.
366 winegstreamer: Split wg_sample wrapper helpers to a separate source.
367 winegstreamer: Use a union in struct sample to keep API pointers.
368 winegstreamer: Introduce new wg_sample_create_quartz helper for quartz_transform.c.
369 winegstreamer: Support zero-copy wg_transform_push_data in quartz_transform.c.
370 winegstreamer: Support zero-copy wg_transform_read_data in quartz_transform.c.
371 winegstreamer: Remove copying support from wg_transform_push_data.
372 winegstreamer: Return NS_E_INVALID_REQUEST on WMReader Start before Open.
373 winegstreamer: Return E_UNEXPECTED from WMReader_Open when already opened.
374 winegstreamer: Return E_UNEXPECTED from WMReaderAdvanced2_OpenStream when already opened.
375 winegstreamer: Move end conditions out of the wm_asyncreader stream loop.
376 winegstreamer: Simplify wm_asyncreader stream loop exit code path.
377 winegstreamer: Leave the wm_reader stream_cs when calling the callbacks.
378 mscoree: Avoid using pointer after free.
379 mshtml/tests: Avoid using pointer value after free.
380 oleaut32/tests: Workaround use after free warnings.
381 user32/tests: Workaround use after free warnings.
382 msi: Avoid using pointer value after free.
383 notepad: Avoid using pointer value after free.
384 dsound: Avoid using pointer value after free.
385 d3drm: Avoid using pointer value after free.
386 server: Avoid using pointer value after realloc.
387 winegstreamer: Register stub ResamplerMediaObject transform.
388 winegstreamer: Implement ResamplerMediaObject transform.
389 winegstreamer: Remove unnecessary WineAudioConverter transform.
390 winegstreamer: Register stub ColorConvertDMO transform.
391 winegstreamer: Implement ColorConvertDMO transform.
394 winex11.drv: Change order register_extension for WGL_ARB_pixel_format_float.
397 include: Emit CFI directives when building on Mac with gcc.
400 ntdll: Move SEH exception info logs back to the seh channel.
403 winebus: Optionally split joysticks with more than 6 axes.
406 cryptnet: Resolve object id to algorithm id when verifying OCSP response.
407 msvcp90: Fix segfault in bad_alloc exception default constructor.
409 Zebediah Figura (12):
410 wined3d: Parse the eval_centroid opcode.
411 wined3d: Cap the maximum reported VRAM, not the current reported VRAM.
412 hidclass.sys: Expose an ioctl to retrieve the raw input handle.
413 dinput: Use IOCTL_HID_GET_WINE_RAWINPUT_HANDLE to retrieve the raw input handle.
414 user32: Use IOCTL_HID_GET_WINE_RAWINPUT_HANDLE to retrieve the raw input handle.
415 hidclass.sys: No longer set the DEVPROPKEY_HID_HANDLE property.
416 user32: Store the device path as a simple string pointer.
417 user32: Use registry APIs to enumerate raw input devices.
418 user32/tests: Add some more tests related to the RAWINPUT structure.
419 user32: Correctly fill the RAWINPUT structure on WoW64.
420 win32u: Move NtUserGetRawInputData from user32.
421 win32u: Move NtUserGetRawInputBuffer from user32.