1 The Wine development release 8.11 is now available.
3 What's new in this release:
4 - More mouse cursor clipping improvements.
5 - Support for TLS alerts.
6 - Increased available address space in WoW64 mode.
9 The source is available at:
11 https://dl.winehq.org/wine/source/8.x/wine-8.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 8.11 (total 26):
29 - #48811 StarCraft II fails to load in staging
30 - #51640 LibreOffice 7.2.0 crashes while browsing directories
31 - #53682 wineboot shows "user_check_not_lock BUG: holding USER lock" on aarch64 since wine-7.14
32 - #54380 Installed windows driver triggers a window when running any program in winXP mode (unimplemented function ntoskrnl.exe.Ke386QueryIoAccessMap)
33 - #54442 experimental wow64 mode: doesn't show some graphical windows
34 - #54738 msi:action - The 64-bit test_register_class_info() fails in Wine
35 - #54742 The 64-bit advapi32:registry breaks the 32-bit test_redirection() in Wine
36 - #54751 The 64-bit advapi32:registry breaks test_CoGetPSClsid() in ole32:compobj in Wine
37 - #54797 Lunar Magic 3.33: Crashes with BadWindow unless WINEDEBUG=+all
38 - #54848 dnsapi:query - test_DnsQuery() fails on Rémi's Wine test machines
39 - #54980 wine lost ability to correctly handle printer(CUPS)-supplied fonts (several programs)
40 - #54993 Framemaker 8 crashes in internal search operation
41 - #55013 user32:monitor - test_EnumDisplayMonitors() sometimes fails on Linux
42 - #55016 xaudio2_8:xaudio2 - test_simple_streaming() crashes on Windows 8+
43 - #55027 Microsoft Office: IME result string may get doubled when edit is done
44 - #55042 IDictionary::Add() fails to add entries with numerical keys that have the same hashes
45 - #55043 Z-Vision for Windows: Assertion failed when clicking "LOAD" button.
46 - #55046 ALT-TAB broken with virtual desktop and capture mouse (regression: 8.9 -> 8.10)
47 - #55047 d3d test_cursor_clipping() fails
48 - #55050 Wine stucks when creating prefix
49 - #55051 Build regression in wine 8.10 using clang on aarch64 (error in backend: Invalid register name "x18")
50 - #55055 Japanese IME fails to clear composition string when deleting the only remaining character
51 - #55074 Multiple apps fail to show anything after launch in virtual desktop mode (Steam, Ubisoft Connect)
52 - #55088 Program crashes when Common Dialog File open function is called
53 - #55091 preloader build failure with GOTPCREL relocation
54 - #55097 cmd.exe does not handle PATH with leading or sequential semicolons
56 ----------------------------------------------------------------
61 commdlg: Fix dialog template parser when caption starts with a DBCS character.
64 windows.media.speech: Fix memory leak on error path in session_worker_thread_cb (scan-build).
65 shell32: Fix memory leak on error path in FolderItems_Constructor (scan-build).
66 rpcrt4: Don't use GetProcAddress for ole32 functions.
67 wldap32: Clean up LDAP_OPT_API_INFO.
68 wusa: Zero out identity on error path in read_identity.
69 msi: Fix memory leak on error path in MSI_OpenPackageW (scan-build).
70 msi: Fix double free on error paths in TransformView_Create (scan-build).
71 winhttp: Fix memory leak on error path in request_get_codepage (scan-build).
72 msi: Fix memory leaks in HANDLE_CustomType23 (scan-build).
73 combase: Don't export hProxyDll or rpc_execute_call.
74 comdlg32: Don't use GetProcAddress for SHSimpleIDListFromPath.
75 comctl32: Remove duplicate declarations of MONTHCAL functions.
76 hhctrl: Initialize item->items to NULL in parse_index_sitemap_object (scan-build).
77 urlmon: Don't export urlmon_instance.
78 wininet: Don't overallocate in urlcache_encode_url_alloc (scan-build).
79 conhost: Use correct pointer type in edit_line_transpose_words (scan-build).
80 advpack: Check the return value of adv_install in DoInfInstallW (scan-build).
81 wbemprox: Fix memory leak on error path in enum_key (scan-build).
82 sane: Fix use after free in create_item (scan-build).
83 crypt32: Don't export CRYPT_CopyReversed.
84 ws2_32: Don't export num_startup.
86 Alexandre Julliard (39):
87 include: Remove redundant __WINE_USE_MSVCRT checks.
88 makefiles: Define WINE_UNIX_LIB for all files that are built for Unix.
89 loader: Make the loader position-independent on 64-bit.
90 winegcc: Fix an uninitialized variable warning in the PE build.
91 wow64: Don't force wow64 dlls to load at low addresses.
92 kernel32/tests: Fix the PROCESS_BASIC_INFORMATION exit status type.
93 server: Also enforce the size of varargs data structures.
94 ntdll: Support the lower memory limit in MEM_ADDRESS_REQUIREMENTS.
95 ntdll: Allocate 64-bit and kernel stacks in high memory.
96 ntdll: Load modules with a high base address in high memory.
97 ntdll: Make only the necessary pages writable in the ARM64EC code map.
98 kernelbase: Don't define stdcall functions on non-i386.
99 ntdll: Don't define stdcall functions on non-i386.
100 wow64cpu: Don't define stdcall functions on non-i386.
101 include: Don't support stdcall functions on non-i386.
102 makefiles: Pass the dll extension from configure.
103 makefiles: Make the dll extension a per-architecture variable.
104 makefiles: Don't build native import libraries for PE-only build.
105 makefiles: Disable native import libraries on ARM64.
106 conhost: Use nameless union/structs.
107 explorer: Use nameless union/structs.
108 ipconfig: Use nameless union/structs.
109 netstat: Use nameless union/structs.
110 oleview: Use nameless unions/structs.
111 regedit: Use nameless unions/structs.
112 services: Use nameless unions/structs.
113 include: Disallow fastcall functions in Unix libraries.
114 loader: Force building the main loader as PIE on 64-bit.
115 loader: Always build the main loader as PIE if we have a preloader.
116 loader: Build the preloader as PIE on 64-bit.
117 winecfg: Use nameless unions/structs.
118 winedbg: Use nameless unions/structs.
119 winefile: Use nameless unions/structs.
120 winemenubuilder: Use nameless unions/structs.
121 winhlp32: Use nameless unions/structs.
122 wordpad: Use nameless unions/structs.
123 wow64: Map a copy of ntdll to build the syscall table.
124 ntdll: Implement _errno().
125 wow64: Don't load the 32-bit ntdll as an image to avoid debugger notifications.
127 Alistair Leslie-Hughes (1):
128 wbemdisp: Support DISPATCH_PROPERTYGET in Object Invoke.
131 include: Add flags in D3D11_RESOURCE_MISC_FLAG.
134 mf: Clear queued topologies on session shutdown.
135 mf: Don't leak sink in session_get_renderer_node_service().
138 uiautomationcore: Store all events in an event list.
139 uiautomationcore: Clone UiaCacheRequest structure passed to UiaAddEvent.
140 uiautomationcore: Add support for cloning UiaCondition structures.
141 uiautomationcore: Implement UiaRaiseAutomationEvent.
142 uiautomationcore: Unconditionally match all events registered on the desktop node with a scope of subtree.
143 uiautomationcore/tests: Add tests for cross-process events.
144 uiautomationcore: Add support for creating serverside events.
145 uiautomationcore: Prevent creation of duplicate serverside events.
146 uiautomationcore: Add support for advising providers of events on serverside events.
147 uiautomationcore: Implement UiaEventAddWindow.
150 wininet: Free temporary buffer in InternetQueryOptionW loop.
153 gdiplus: Allow NULL format in GdipAddPathString.
154 msi: Reject shorter/longer lines in MsiDatabaseImportA.
155 msi: Convert newlines to alternate representation when exporting.
157 Davide Beatrici (21):
158 winepulse: Move main loop logic into mmdevapi.
159 winealsa: Implement main_loop in unixlib.
160 winecoreaudio: Implement main_loop in unixlib.
161 wineoss: Implement main_loop in unixlib.
162 winepulse: Move AudioClient's Initialize's exclusive mode check into unixlib.
163 winepulse: Move get_application_name into mmdevapi.
164 winealsa: Call mmdevapi's get_application_name.
165 winecoreaudio: Call mmdevapi's get_application_name.
166 wineoss: Call mmdevapi's get_application_name.
167 winepulse: Move stream_release into mmdevapi.
168 winealsa: Use mmdevapi's stream_release.
169 winecoreaudio: Use mmdevapi's stream_release.
170 wineoss: Use mmdevapi's stream_release.
171 winealsa: Use mmdevapi's set_stream_volumes.
172 winecoreaudio: Use mmdevapi's set_stream_volumes.
173 wineoss: Use mmdevapi's set_stream_volumes.
174 winepulse: Use mmdevapi's set_stream_volumes.
175 winealsa: Use create_stream's channel count in AudioClient's Initialize.
176 winecoreaudio: Use create_stream's channel count in AudioClient's Initialize.
177 wineoss: Use create_stream's channel count in AudioClient's Initialize.
178 winepulse: Refactor AudioClient's Initialize to match other drivers.
181 kernel32/tests: Extend console inheritance tests.
182 include/dbghelp.h: Added some missing definitions.
183 dbghelp: Create implementation basis for SymSrvGetFileIndex*().
184 dbghelp/tests: Add tests for SymSrvGetIndexesInfo.
185 dbghelp/tests: Add tests for SymSrvGetInfoIndexes.
186 dbghelp: Implement SymSrvGetFileIndexInfo for PE modules.
187 dbghelp/tests: Add explicit tests about loading ELF modules.
188 dbghelp: Fix reading Wine loader's base address.
189 winedump: Tidy up print out in minidumps.
191 Etaash Mathamsetty (2):
192 ntdll: Allow RtlAllocateHeap to crash with invalid handle.
193 user32: Add GetSystemDpiForProcess export.
196 wineps.drv: Use afm FamilyName instead of FullName.
197 mmdevapi: Don't redefine stream_handle (gcc 4.3).
198 gdiplus: Refactor and add comments for easier understanding.
200 Gabriel Ivăncescu (27):
201 jscript: Correctly implement context for indirect eval calls in ES5+ modes.
202 jscript: Fix addressing invalid memory if ref is an argument.
203 jscript: Fix function leak in scope_init_locals.
204 jscript: Get rid of jsobj in scope_chain_t.
205 jscript: Don't use iface_to_jsdisp where it's not necessary to grab it.
206 jscript: Store detached args into a scope's specialized buffer.
207 jscript: Start from the last argument when adding them to named locals.
208 jscript: Get rid of the function instance in arguments obj.
209 mshtml: Traverse and unlink AreaElements properly.
210 mshtml: Fix style declaration leak in HTMLStyle_Create.
211 mshtml: Fix nsIDOMNode leak when retrieving an item in the node list.
212 mshtml: Fix node leak when enumerating nodes.
213 mshtml: Handle failure and cleanup properly when enumerating nodes.
214 mshtml: Fix leaks in create_all_list.
215 mshtml: Fix element leaks in get_elem_source_index.
216 mshtml: Fix text node leak in Element innerText setter.
217 mshtml: Fix text node leak in OptionElement text setter.
218 mshtml/tests: Fix CurrentStyle leak in test_style_filters.
219 jscript: Use jsstr_empty instead of allocating empty string.
220 jscript: Implement `caller` for function instances and prototype.
221 jscript: Throw error when accessing `arguments` prop of bind functions.
222 jscript: Don't expose Function.prototype.arguments in non-html mode.
223 jscript: Store ref to scope directly instead of frame in arguments object.
224 jscript: Don't use detached arguments buffer in html mode.
225 jscript: Always create detached variable objects with no class.
226 jscript: Properly handle passing undefined value to Number.toPrecision.
227 jscript: Properly handle passing undefined value to Number.toString in ES5+ mode.
230 winevulkan: Update to VK spec version 1.3.254.
232 Giovanni Mascellani (5):
233 dxgi: Do not uselessly pass queue_family_index around.
234 dxgi: Remove now-useless function d3d12_swapchain_create_buffers().
235 dxgi: Do not destroy D3D12 resources unless requested.
236 dxgi: Only create D3D12 resources when necessary.
237 dxgi: Rename and split d3d12_swapchain_destroy_buffers().
240 secur32: Add support for sending TLS alerts.
242 Huw D. M. Davies (2):
243 winepulse: Don't overwrite the result in the insufficient buffer case.
244 winepulse: Return E_NOTIMPL when the property is not found.
247 user32: Remove no longer used setupapi import.
248 win32u: Remove duplicated d3dkmdt.h include.
249 configure: Use -fvisibility=hidden when building with msvcrt and cross compiler is not available.
252 atl/tests: Move regular DWORD tests into a loop.
253 atl: Convert REG_DWORD to a correct type.
256 loader: Set the visibility of symbols in preloader to "hidden".
258 Liam Middlebrook (2):
259 cmd/tests: Add tests for PATH separator.
260 cmd: Fix empty strings between PATH separators.
263 scrrun/dictionary: Compare key values in addition to their hashes.
264 oleaut32/recinfo: Use CRT allocation functions.
265 oleaut32/recinfo: Use CoTaskMem* allocations for the record data.
266 oleaut32: Trace typelib guid in GetRecordInfoFromGuids().
268 Olivier F. R. Dierick (1):
269 ntoskrnl.exe: Add Ke386QueryIoAccessMap stub.
272 crypt32: Do not create persistent container in CRYPT_CreateKeyProv().
275 server: Pass the message code to get_hardware_msg_bit.
276 server: Use hardware message category when checking filter.
277 imm32: Avoid resizing IMCC to zero-size buffer.
278 winex11: Remove now unnecessary WM_X11DRV_CLIP_CURSOR_NOTIFY.
279 win32u: Move grab_pointer registry option from winex11.
280 win32u: Add a clipping_reset member to user_thread_info.
281 win32u: Add a clipping_cursor member to user_thread_info.
282 winex11: Move clip_fullscreen_window foreground check inside it.
283 win32u: Move fullscreen window cursor clipping from winex11.
284 server: Update desktop cursor window when cursor pos changes.
285 server: Keep track of the current desktop cursor handle.
286 server: Introduce and send new WM_WINE_SETCURSOR hardware message.
287 win32u: Add a hwnd parameter to SetCursor driver entry points.
288 win32u: Notify drivers of cursor changes on WM_WINE_SETCURSOR.
289 wineandroid: Set the window cursor immediately in SetCursor.
290 winex11: Set the window cursor immediately in SetCursor.
291 server: Update the DF_WINE_CREATE_DESKTOP desktop flag on opening.
292 win32u: NtUserGetObjectInformation returns a BOOL, not NTSTATUS.
293 winex11: Don't grab the cursor if another process is focused.
294 winex11: Simplify the cursor clipping retry mechanism.
295 winex11: Replace the clipping message HWND with a BOOL flag.
296 winegstreamer: Introduce new stream_descriptor_set_tag helper.
297 winegstreamer: Pass a struct wg_parser_stream to media_stream_create.
298 winegstreamer: Factor the creation of the first stream media type.
299 winegstreamer: Introduce new init_video_media_types helper.
300 winegstreamer: Introduce new init_audio_media_types helper.
301 winegstreamer: Pass the stream descriptor to media_stream_create.
302 win32u: Remove unnecessary set_cursor new_clip rect copy.
303 server: Pass set_cursor flags in WM_WINE_CLIPCURSOR wparam.
304 win32u: Use a specific flag instead of shrinking the clip rect.
305 winegstreamer: Remove colorimetry and chroma-site from wg_format caps.
306 winegstreamer: Remove the callback mechanism from wg_allocator.
307 winegstreamer: Move release_memory_sample helper around.
308 winegstreamer: Lazily allocate wg_allocator unix memory.
309 imm32/tests: Test how deleting a character can behave.
310 imm32: Use offsets instead of lengths to decide on sending updates.
311 winex11: Report empty preedit string when result string is committed.
312 winex11: Make sure HIMC is opened before sending IME updates.
313 win32u: Split default UpdateDisplayDevices implementation to a helper.
314 win32u: Move virtual desktop display settings logic from winex11.
315 configure: Build x86_64 PE code with mcmodel=small.
318 sapi: Partially implement ISpMMSysAudio::SetState.
319 sapi: Free completed buffers asynchronously in SpMMAudio.
320 sapi: Implement ISpMMSysAudio::Write.
321 sapi: Implement ISpMMSysAudio::EventHandle.
322 sapi: Implement ISpVoice::SetOutput.
323 sapi: Implement ISpVoice::Set/GetVoice.
324 sapi: Implement ISpVoice::Set/GetRate.
325 sapi: Implement ISpVoice::Set/GetVolume.
328 win32u: Move QueryDisplayConfig from user32.
329 win32u: Cleanup naming and log messages for QueryDisplayConfig.
330 win32u: Avoid SEGV in QueryDisplayConfig when run as service.
333 ntdll: Treat read faults on readable pages as write faults on macOS.
335 Vladislav Timonin (2):
336 shell32: Show >4GB values in size columns of My Computer.
337 shell32: Don't show size for inaccessible drives in My Computer.
340 xaudio2/tests: Fix the IID_IXAudio28 declaration.
343 winegstreamer: Implement Flush for WMV decoder DMO.