1 The Wine development release 7.13 is now available.
3 What's new in this release:
4 - Gecko engine updated to version 2.47.3.
5 - USB driver converted to PE.
6 - Some theming improvements.
9 The source is available at:
11 https://dl.winehq.org/wine/source/7.x/wine-7.13.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.13 (total 16):
29 43167 Witcher 3 will not start
30 47375 Multiple applications crash on unimplemented function msvcr120.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z (Photoshop C 2018, CLIP Studio Paint)
31 51129 Function name conflict (ldap_connect) with OpenLDAP 2.5
32 51462 SnowRunner crashes when changing settings
33 51842 include/winnt.h:403:50: error: size of unnamed array is negative
34 52391 Multiple games are missing sound effects since FAudio import (Hyperdimension Neptunia Re;Birth 1, Skyrim Legendary Edition)
35 53104 Wireshark can't start capturing packets
36 53133 uiautomationcore:uiautomation - test_uia_prov_from_acc_properties() crashes on Windows 8
37 53157 --without-mingw builds on Mac can't unwind exceptions
38 53231 d2d1:d2d1 - test_shared_bitmap() crashes on the TestBot VMs
39 53298 Check boxes don't scale properly in Qt application with light theme
40 53309 Wizard101 launcher window takes over a minute to appear
41 53335 Crash when converting an rich text editor already containing text into a password input
42 53341 uxtheme:system depends on GetDpiForSystem() which is missing on Windows 10 1507 and earlier
43 53343 The 64-bit itss:protocol fails in Wine
44 53344 HPLOCONS (legacy TLS applications): GnuTLS priority string overrides are ignored in schan_create_session() (patch included)
46 ----------------------------------------------------------------
51 mciqtz32: Fix thread handle leak if a second play.
54 ntoskrnl: Add KeQueryPriorityThread stub.
56 Alexandre Julliard (24):
57 ntdll: Use proper absolute paths for registry keys.
58 advapi32/tests: Remove some workarounds for older Windows versions.
59 ntdll/tests: Remove some workarounds for older Windows versions.
60 ntdll/tests: Add a few more tests for registry path names.
61 ntdll: Fix returned error for NtCreateKey with empty name.
62 server: Fix access check for NtQueryKey.
63 server: Return the standard status code when the key exists in NtCreateKey.
64 server: Avoid potential NULL dereference in create_named_object().
65 server: Prevent infinite symlink recursion in lookup_named_object().
66 ntdll/tests: Remove todo from tests that succeed now.
67 ntdll: Fix the return value of NtQueryKey for a short buffer.
68 win32u: Add missing terminating null on a GUID string.
69 server: Store a pointer to the Wow6432Node subkey.
70 server: Use the standard object name for registry keys.
71 server: Store the key parent in the standard object name structure.
72 server: Implement unlink_name() for registry keys.
73 ntdll: Make all registry lookups case-insensitive.
74 server: Move some functions to avoid forward declarations.
75 server: Implement link_name() for registry keys.
76 server: Implement lookup_name() for registry keys.
77 server: Use standard named object functions for registry keys.
78 ntdll/tests: Add some more tests for shared Software\Classes key.
79 server: Create new keys in the parent of a shared key.
80 include: Remove wine/unicode.h.
83 ntdll: Add ".globl" for asm labels referenced from C.
86 po: Update Korean translation.
89 winepulse: Store device-specific format and periods.
90 winepulse: Return device-specific values for GetMixFormat.
91 winepulse: Return device-specific values for GetDevicePeriod.
92 winepulse: Remove unused pulse_config.
93 winepulse: Fix memory leak in pulse_create_stream in some error cases.
94 winepulse: Store and use device period on stream creation.
95 winepulse: Use stream-specific period in pulse_get_latency.
96 winepulse: Don't probe default devices twice.
99 oleaut32: Handle DATE in string form in VarFormat.
100 ieframe: Fix memory leak in open_dde_url.
102 Dmitry Timoshkov (6):
103 combase: Use file system redirection path only for an opposite architecture in a WoW64 setup.
104 combase: Execute local server for correct architecture in a WoW64 setup.
105 d2d1/tests: Fix compilation with clang.
106 sechost: Support decimal or octal access rights in ConvertStringSecurityDescriptorToSecurityDescriptor.
107 include: Fix a typo in _InterlockedXor64() intrinsic declaration.
108 winspool.drv: Implement OpenPrinter2.
111 d3dx10/tests: Build without -DWINE_NO_LONG_TYPES.
112 dbghelp: Silence a couple of FIXMEs in SymGetTypeInfo().
113 mscvpdb.h: Use bitfield for defrange's variable flag.
114 dbghelp: Don't include global & static variables from S_LOCAL* records.
115 dbghelp: Create lexical relationship between global vars and symt_module.
116 dbghelp: Only reply to offset requests on symt_data in SymGetTypeInfo() for locals and parameters.
117 dbghelp: Member's lexical parent is module (not parent UDT).
118 dbghelp: Set constants lexical parent to module when no compiland is present.
121 inetcpl.cpl: Fix typo.
122 po: Update Dutch translation.
124 Gabriel Ivăncescu (7):
125 mshtml: Set the channel's content type when parsing the header.
126 mshtml: Respect LOAD_CALL_CONTENT_SNIFFERS when using detected mime type.
127 mshtml: Check for valid XML Content-Type for responseXML in IE10+ modes.
128 mshtml: Implement overrideMimeType for XMLHttpRequest.
129 mshtml: Use the private interface to expose onload for XMLHttpRequest.
130 mshtml: Only default to IE11 mode for Internet URL Zones when the app is IE.
131 mshtml: Parse X-UA-Compatible correctly.
134 winevulkan: Update to VK spec version 1.3.221.
137 winhttp: Always reset the second input buffer in netcon_secure_connect().
138 wininet: Always reset the second input buffer in netcon_secure_connect_setup().
139 secur32: Validate input buffers in schan_InitializeSecurityContextW().
140 mscms: Merge the profile and transform handle tables.
142 msv1_0: Add support for SECPKG_ATTR_KEY_INFO.
143 secur32: Implement lsa_QueryContextAttributesA(SECPKG_ATTR_KEY_INFO).
144 secur32/tests: Add more context attributes tests.
145 secur32: Simplify nego_AcquireCredentialsHandleA() and fix an invalid free.
146 secur32: Simplify lsa_AcquireCredentialsHandleA().
147 secur32: Fix GnuTLS system priority file override.
150 regedit: Remove unneeded valueDataLen override for DWORD values.
151 regedit: Correctly calculate REG_MULTI_SZ size before reading from the buffer.
152 regedit: Directly use RegQueryValueExW() instead of a helper function.
153 regedit: Replace heap_x*() functions with malloc(), realloc() and free().
156 win32u: Move NtUserShowScrollBar implementation from user32.
157 win32u: Partially move ScrollBarWndProc implementation from user32.
158 win32u: Move set_standard_scroll_painted implementation from user32.
159 win32u: Move scroll bar WM_CREATE implementation from user32.
160 win32u: Move scroll bar WM_SETFOCUS and WM_KILLFOCUS implementation from user32.
161 win32u: Move scroll tracking implementation from user32.
162 user32: Pass scroll enable flags to ScrollBarDraw.
163 win32u: Support undocumented SIF_RETURNPREV flag in set_scroll_info.
164 user32: Use SIF_RETURNPREV for SetScrollPos implementation.
165 win32u: Move scroll bar proc implementation from user32.
166 user32: Use GetScrollInfo for GetScrollPos implementation.
167 user32: Use GetScrollInfo for GetScrollRange implementation.
168 win32u: Move get_scroll_info_ptr implementation from user32.
169 win32u: Move WM_NCCREATE scroll handling from user32.
170 wow64win: Sort user syscall thunks.
171 win32u: Implement input context object.
172 imm32: Use win32u to manage input context handles.
173 imm32: Move default IMM window proc implementation from user32.
174 imm32: Use a separated struct for COM initialization spy.
175 imm32: Use default IME window WM_DESTROY to call imm_couninit_thread.
176 imm32: Store message spy pointer in TEB.
177 win32u: Move window input context handling from imm32.
178 imm32/tests: Add NtUserAssociateInputContext tests.
179 imm32/tests: Add more tests for disabling IME.
180 imm32: Don't allow disabling other thread's IME by thread ID.
181 win32u: Move default IME window management from imm32.
182 win32u: Use KeUserModeCallback for ImmProcessKey and ImmTranslateMessage calls.
183 win32u: Use KeUserModeCallback interface for DDE message callbacks.
184 mshtml: Wine Gecko 2.47.3 release.
185 imm32: Select default IME when creating its data.
186 win32u: Move default window proc to IME window forwarding implementation from user32.
187 wined3d: Don't use vulkan_driver.h.
188 wined3d: Don't use __wine_get_wgl_driver.
191 wined3d: Add missing copy offset in wined3d_texture_vk_upload_data().
192 wined3d: Defer destroying Vulkan compute pipelines.
195 maintainers: Add trailing slashes to directories.
198 loader: Fix return type of get_auxiliary().
199 riched20/tests: Test for ITextDocument::Undo and ITextDocument::Redo.
200 riched20: Ensure MEPF_COMPLEX is unset when in password input mode.
201 ntdll: Set r11 on exit from syscall dispatcher on x64.
202 include: Move WIN32_MEMORY_RANGE_ENTRY from winnt.h to winbase.h.
203 include: Add definition for NtSetInformationVirtualMemory.
204 ntdll/tests: Add tests for NtSetInformationVirtualMemory.
205 ntdll: Implement NtSetInformationVirtualMemory (intra-process case).
206 kernel32/tests: Add tests for PrefetchVirtualMemory.
207 kernelbase: Implement PrefetchVirtualMemory.
208 riched20: Factor out undo-ignored status check.
209 riched20: Add undo control state variable to ME_TextEditor.
210 riched20: Implement ITextDocument::Undo and ITextDocument::Redo.
213 http.sys: Add support for relative URLs.
214 http.sys: Do not add URLs with query parameters to queue.
217 d3dx10/tests: Add a couple D3DX10CreateAsyncTextureInfoProcessor() parameter tests.
220 xmllite/reader: Use correct byte length when updating utf16 buffer contents marker.
221 d2d1/effect: Support parsing vector2 property values.
222 d2d1/effect: Support parsing vector3 property values.
223 d2d1/effect: Support parsing vector4 property values.
224 d2d1/effect: Support parsing int32 property values.
225 d2d1/effect: Support parsing matrix poperty values.
226 d2d1/tests: Add missing return value check (Coverity).
227 d2d1/effect: Check that "Inputs" property was specified in the description.
228 d2d1: Implement GetRegisteredEffects().
229 d2d1/tests: Use CRT allocation functions.
230 rpcss: Use CRT memory allocation functions.
231 wscript: Use CRT memory allocation functions.
232 wordpad: Use CRT allocation functions.
233 winepath: Use CRT allocation functions.
234 winemsibuilder: Use CRT allocation functions.
235 mf/evr: Consistently check for shutdown flag within a lock.
236 mf/sar: Consistently check for shutdown flag within a lock.
237 mf/samplegrabber: Consistently check for shutdown flag within a lock.
238 wmic: Handle properly list for GET verb.
239 d3d10: Use CRT allocation functions.
240 xolehlp: Use CRT allocation functions.
243 msvcp140_2: Add stub dll.
244 server: Allow IOCTL_AFD_POLL for sockets without unix fd.
245 crypt32: Support MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG.
248 d3dx10/tests: Fix texture leak in check_resource_data.
249 d3dx10: Add D3DX10CreateThreadPump stub.
250 d3dx10: Add ID3DX10ThreadPump:AddWorkItem implementation.
251 d3dx10: Add ID3DX10ThreadPump:GetWorkItemCount implementation.
252 d3dx10: Add ID3DX10ThreadPump:ProcessDeviceWorkItems implementation.
253 d3dx10: Add ID3DX10ThreadPump:WaitForAllItems implementation.
254 d3dx10: Add ID3DX10ThreadPump:GetQueueStatus implementation.
255 d3dx10: Add ID3DX10ThreadPump:PurgeAllItems implementation.
256 d3dx10/tests: Add D3DX10CreateThreadPump tests.
257 ntdll: Fix x64 single step exception detection on macOS.
260 wpcap: Translate device identifier in pcap_create.
261 wpcap: Implement pcap_dispatch.
264 winegstreamer: Fix Resampler transform GetCurrent(Input|Output)Type.
265 winegstreamer: Fix ColorConvert transform GetCurrent(Input|Output)Type.
266 mf/tests: Add more MFGetTopoNodeCurrentType tests.
267 mf: Add error cases for MFGetTopoNodeCurrentType.
268 win32u: Add invisible winstation virtual monitor outside of nulldrv.
269 win32u: Move default UpdateDisplayDevices implementation out of nulldrv.
270 win32u: Set generic DEVMODEW fields in NtUserEnumDisplaySettings.
271 mf/tests: Add todo_wine for newer FFmpeg versions.
272 winegstreamer: Release requested samples if they are too small.
273 winegstreamer: Use an atomic queue for wg_transform input buffers.
274 win32u: Fix NtUserChangeDisplaySettings comment.
275 win32u: Move reading mode from registry out of graphics drivers.
276 win32u: Move NtUserChangeDisplaySettings mode validation to a separate helper.
277 win32u: Move writing mode to registry out of graphics drivers.
278 dinput/tests: Avoid window activation race conditions with Wine.
279 dinput/tests: Remove racy IForceFeedbackEffect reference count checks.
280 widl: Fix missing support for struct / union parameterized type replacement.
281 widl: Support namespaces for union declarations.
282 winegstreamer: Implement H264 SetOutputType by reconfiguring the pipeline.
283 winegstreamer: Use H264 input media type frame size when specified.
284 winegstreamer: Check H264 ProcessOutput sample against actual image size.
285 mf/tests: Simplify topology loader tests.
286 mf/tests: Add more topology loader media types tests.
287 mf/tests: Add more topology loader connect method tests.
288 mf: Move and rename topology_loader_get_node_type_handler.
289 mf: Use topology_node_get_type_handler in MFGetTopoNodeCurrentType.
292 wined3d: Don't transition GENERAL layouts for blits.
295 wbemprox: Provide more accurate system information.
298 mountmgr.sys: Always set the return size from dhcp_request implementations.
301 msvcr120/tests: Add test for canceling running chores.
302 msvcr120: Add _StructuredTaskCollection::_StructuredTaskCollection_dtor stub.
303 msvcr100: Add _StructuredTaskCollection::_Schedule stub.
304 msvcr110: Add _StructuredTaskCollection::_Schedule_loc stub.
305 msvcr100: Add _StructuredTaskCollection::_RunAndWait stub.
306 msvcr100: Add _StructuredTaskCollection::_Cancel stub.
307 msvcr100: Add _StructuredTaskCollection::_IsCanceling stub.
308 msvcr120/tests: Add missing newlines to messages.
311 ntdll: Add SJIS charset.
313 Zebediah Figura (57):
314 d3d10core/tests: Build without -DWINE_NO_LONG_TYPES.
315 wineusb.sys: Spawn a separate thread to consume Unix library events.
316 wineusb.sys: Remove devices through the event thread.
317 wineusb.sys: Report new devices through the event thread.
318 wineusb.sys: Complete IRPs through the event thread.
319 d3d9/tests: Make getPixelColor() checks into actual ok() calls.
320 d3d9/tests: Build without -DWINE_NO_LONG_TYPES.
321 d3d8/tests: Make getPixelColor() checks into actual ok() calls.
322 d3d8/tests: Build without -DWINE_NO_LONG_TYPES.
323 ddraw/tests: Build d3d.c without -DWINE_NO_LONG_TYPES.
324 ddraw/tests: Build ddrawmodes.c without -DWINE_NO_LONG_TYPES.
325 ntdll: Fix the calling convention for runtime 64-bit shift functions.
326 ntdll/tests: Add tests for runtime 64-bit shift functions.
327 ntdll: Avoid depending on compiler support for 64-bit shift functions.
328 ntdll: Correctly handle shift greater than the type width in 64-bit shift functions.
329 ddraw/tests: Build dsurface.c without -DWINE_NO_LONG_TYPES.
330 ddraw/tests: Build refcount.c without -DWINE_NO_LONG_TYPES.
331 ddraw/tests: Build visual.c without -DWINE_NO_LONG_TYPES.
332 wineusb.sys: Fully initialize the device before adding it to the device list.
333 ntoskrnl/tests: Test asynchronicity of device PnP events.
334 ntoskrnl/tests: Also test that IoInvalidateDeviceRelations() during device enumeration doesn't deadlock.
335 ntoskrnl: Enumerate child devices on a separate thread.
336 wineusb.sys: Queue pending IRPs after submitting the URB.
337 wineusb.sys: Move the event handling loop to the Unix library.
338 wineusb.sys: Move the event threads to IRP_MN_START_DEVICE.
339 wineusb.sys: Move the event queue and device list to the Unix library.
340 ddraw/tests: Build ddraw1.c without -DWINE_NO_LONG_TYPES.
341 ddraw/tests: Build ddraw2.c without -DWINE_NO_LONG_TYPES.
342 wined3d: Introduce a wined3d_streaming_buffer helper.
343 d3d8: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
344 d3d8: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
345 d3d9: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
346 d3d9: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
347 ddraw/tests: Build ddraw4.c without -DWINE_NO_LONG_TYPES.
348 ddraw/tests: Build ddraw7.c without -DWINE_NO_LONG_TYPES.
349 ntoskrnl/tests: Fix a test failure.
350 wineusb.sys: Move the libusb_init() and libusb_exit() calls to the Unix library.
351 wineusb.sys: Pass the device descriptor as part of the event data.
352 wineusb.sys: Create separate unix devices for each interface.
353 wineusb.sys: Build with msvcrt.
354 d3d8: Upload sysmem vertex buffers into the streaming buffer in d3d8_device_DrawPrimitive().
355 d3d8/tests: Use a nonzero start index in test_sysmem_draw().
356 d3d9: Upload sysmem vertex buffers into the streaming buffer in d3d9_device_DrawPrimitive().
357 d3d9/tests: Use a nonzero start index in test_sysmem_draw().
358 wined3d: Trace the chunk pointer instead of the GL buffer ID in wined3d_device_gl_allocate_memory().
359 wined3d: Clear the BO map_ptr in wined3d_bo_gl_unmap() even if the chunk is still mapped.
360 wined3d: Respect the client map count even for suballocated BOs.
361 wined3d: Pause transform feedback in wined3d_context_gl_draw_shaded_quad().
362 wined3d: Pause transform feedback in wined3d_context_gl_draw_textured_quad().
363 wined3d: Do not pause transform feedback after every draw call.
364 ws2_32/tests: Add some tests for NtReadFile() and NtWriteFile() on sockets.
365 ntdll: Use the recv_socket request for NtReadFile() on a socket.
366 ntdll: Use the send_socket request for NtWriteFile() on a socket.
367 server: Remove the no longer used sock_queue_async() function.
368 server: Remove the unused "flags" field from struct sock.
369 server: Do not set the socket state in complete_async_connect().
370 server: Set the connection time if connect() returns 0.
373 uxtheme/tests: Add more GetThemePartSize() tests in different DPI.
374 uxtheme: Use system DPI for OpenThemeData() without valid window handles.
375 atl110: Add importlib.
376 atl: Avoid NULL pointer reference in AtlComModuleGetClassObject().
377 atl: Avoid NULL pointer reference in AtlComModuleRegisterClassObjects().
378 atl: Avoid NULL pointer reference in AtlComModuleRevokeClassObjects().
379 uxtheme/tests: Use the GetDpiForSystem() function pointer.
380 winex11.drv: Handle X errors from glXCopyContext().
381 winex11.drv: Lock display when expecting error events.
382 winex11.drv: Don't compare error event serial if it's zero.
383 opengl32/tests: Test wglCopyContext().
384 explorer: Fix memory leaks.
385 comctl32/button: Pass the destination rectangle to GetThemePartSize() when painting check boxes.
386 cryptui: Use 10 DLUs for check box height.
387 winecfg: Use 10 DLUs for check box height.
388 winefile: Use 10 DLUs for check box height.
389 shell32: Correctly check SVSI_EDIT.
390 shell32: Correctly apply SVSI_FOCUSED.
391 shell32: Add LVS_SHOWSELALWAYS to the list view in shell views.
392 shell32: Correct SHOpenFolderAndSelectItems() prototype.
393 include: Add SHOpenFolderAndSelectItems() declaration and flags.
394 shell32/tests: Add SHOpenFolderAndSelectItems() tests.
395 shell32: Implement SHOpenFolderAndSelectItems().
398 d2d1/effect: Keep builtin effects in the same list as the custom once.
399 d2d1/tests: Add tests for ID2D1TransformGraph.
400 d2d1/tests: Add tests for ID2D1OffsetTransform.
401 d2d1/tests: Test ID2D1BlendTransform.
402 d2d1/tests: Test ID2D1BorderTransform.