1 The Wine development release 6.13 is now available.
3 What's new in this release (see below for details):
4 - Proper scrollbar theming.
5 - More work towards WinSock PE conversion.
6 - Preparation work for the GDI syscall interface.
7 - Some progress on the IPHLPAPI PE conversion.
10 The source is available from the following locations:
12 https://dl.winehq.org/wine/source/6.x/wine-6.13.tar.xz
13 http://mirrors.ibiblio.org/wine/source/6.x/wine-6.13.tar.xz
15 Binary packages for various distributions will be available from:
17 https://www.winehq.org/download
19 You will find documentation on https://www.winehq.org/documentation
21 You can also get the current source directly from the git
22 repository. Check https://www.winehq.org/git for details.
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
27 ----------------------------------------------------------------
29 Bugs fixed in 6.13 (total 31):
31 15381 CoFreeUnusedLibraries will crash COM server or cause 0x800703E6/I_RpcReceive error 0x3e6
32 28326 CDBurnerXP's audio player is missing some visual elements
33 28795 ExeInfoPE v0.0.3.0: PE protection schemes that abuse %gs won't run (breaks glibc TLS selector)
34 32517 installer of QQMusic 8.6 hangs
35 34966 Academagia (WPF game) dialog windows are invisible until alt-tabed out
36 35611 A lot of user32:msg tests fail in the Japanese locale
37 35921 Multiple games and applications need IDirectXVideoProcessorService via DXVA2CreateVideoService (DXVA Checker 3.x/4.x, Perfect World, Kodi)
38 37370 Doom 3 (CD version) installer: 'cancel' button does nothing in 'Please insert: DOOM 3 Disk x' dialog
39 39377 Add support for 'msidbControlAttributesFormatSize' in static text controls to format and label properties such as 'PrimaryVolumeSpaceRequired' (SkySaga installer)
40 41703 Workaround LdrUnloadDll() for C libraries that do not support the dlclose() function
41 43173 Far Cry 4 sound stops
42 45198 Project CARS 2 shows only a black screen (requires constant buffer offsetting)
43 45620 Dishonored 2 Demo crashes at launch
44 45807 Incorrect toolbar background in MFC apps, when visual theming enabled
45 50374 pCon.planner doesn't finish installation and doesn't open
46 50404 Sims 4 crashes on startup with builtin msvcrt
47 51152 The 64-bit ntdll:exception test fails in Wine
48 51262 Since 308a5e7 no 32bit program starts
49 51277 Multiple games become unresponsive with plugged in controller (INSIDE, The Hong Kong Massacre, Sniper Elite 3)
50 51281 C:\users\<user>\appdata\local not created on prefix update
51 51295 ntoskrnl.exe:ntoskrnl occasionally hangs in test_overlapped()
52 51329 Windows PC Health Check requires api-ms-win-core-featurestaging-l1-1-0.dll
53 51331 Battle.net client unusable, reports "The Battle.net Update Agent went to sleep. Attempting to wake it up..."
54 51340 d3d10core:d3d10core, d3d11:d3d11 test_texture_compressed_3d() fails on Nvidia (cw-gtx560)
55 51348 uxtheme.SetWindowTheme should use SendMessage to send WM_THEMECHANGED
56 51366 several wine-mono network tests fail with timeout
57 51368 World of Warcraft : undefined d3d state
58 51381 Battlefield 4 cannot find online matches
59 51382 NetEase Cloud Music crashes on zh_CN.UTF-8 locale.
60 51416 deferred context memory leak
61 51425 Mathearbeit G 5.6 installer reports null pointer exception in module 'shell32.dll' starting with Wine 6.9-142-g98d43c5dcfb
63 ----------------------------------------------------------------
68 crypt32: Implement CNG_RSA_PUBLIC_KEY_BLOB encoding/decoding.
71 mfplat: Use D3DFORMAT for dxgi buffer copy function.
74 api-ms-win-core-featurestaging-l1-1-0: Add DLL.
76 Alexandre Julliard (26):
77 ntdll: Implement SystemEmulation* information classes.
78 ntdll: Implement NtWow64GetNativeSystemInformation().
79 ntdll: Forward RtlGetNativeSystemInformation() to NtWow64GetNativeSystemInformation() on 32-bit.
80 ntdll: Get rid of the almost empty nt.c.
81 ntdll: Get rid of the almost empty directory.c.
82 ntdll: Get rid of the almost empty virtual.c.
84 wow64win: Add stub dll.
85 ntdll: Store the pthread TEB value on thread init.
86 ntdll: Allocate a 32-bit %fs selector on Linux in Wow64 mode.
87 ntdll: Switch back to the pthread %fs register in signal handlers.
88 winebuild: Add a specific platform id for Linux.
89 winebuild: Save/restore the %fs register in the syscall dispatcher on Linux.
90 ntdll: Make the ntdll exports and relocations processing more generic.
91 ntdll: Also load the Wow64 ntdll for the main exe target machine.
92 ntdll: Add support for LdrSystemDllInitBlock.
93 ntdll: Fix iosb handling in NtCancelIoFile().
94 ntdll: Pass a length pointer instead of an IO_STATUS_BLOCK to the async callbacks.
95 ntdll: Add a helper function to open a file object.
96 ntdll: Avoid calling NtOpenFile() from the Unix side.
97 ntdll: Avoid calling NtCreateFile() from the Unix side.
98 ntdll: Avoid calling NtReadFile() from the Unix side.
99 ntdll/tests: Add tests for IO_STATUS_BLOCKs in Wow64 mode.
100 ntdll: Don't restore %fs selector on nested signals.
101 ntdll: Use the 32-bit RtlUserThreadStart as initial Eip in the 32-bit context.
102 server: Don't generate dll load event for native binaries on Wow64.
104 Alistair Leslie-Hughes (3):
105 secur32: Set error flag on pull callback.
106 include: Update _IMAGEHLP_MODULEW64 stucture.
107 dbghelp: Initialize new structure members.
110 shell32: Fix unused knownfolder definition.
113 dinput: Don't add 'default value 0' entries to the data transform.
115 Bernhard Übelacker (1):
116 hhctrl.ocx: Handle only the number of bytes given in html_fragment_len.
119 include: Add some function declarations in propvarutil.h.
120 winecrt0: Add missing members in _JUMP_BUFFER for SJLJ.
123 ntdll: Fix locale detection on Mac.
125 Damjan Jovanovic (3):
126 wininet: InternetGetLastResponseInfoW() returns wide chars, not ASCII.
127 wininet: Return the required buffer size from InternetGetLastResponseInfo() when it's too small.
128 wininet: The buffer is returned from InternetGetLastResponseInfo() even when the error is 0.
130 Dmitry Timoshkov (1):
131 winex11.drv: Don't free cached DnD data after informing an application about the drop event.
134 dbghelp: Correctly initialize the module_pair structure in SymGetTypeFromName.
135 dbghelp/tests: Try to fix failure in current dbghelp tests.
138 bthprops.cpl: Add BluetoothFindNextRadio stub.
139 api-ms-win-core-console-l3-2-0: Add stub dll.
140 api-ms-win-core-kernel32-legacy-l1-1-5: Add stub dll.
143 rundll32: Only call LoadLibrary16 on x86.
145 François Gouget (24):
146 user32/tests: Use WineTest contexts to simplify test_mdi().
147 user32/tests: Fix the wording of an ok() message.
148 shell32/test: Fix an ok() message.
149 shell32/tests: Use WineTest contexts to simplify shellpath.
150 shell32/tests: Fix the PathResolve() tests on Windows 8.1, early 10.
151 winetest: Report GetLastError() when CreateProcess() fails.
152 ntdll/tests: TZinfo sometimes does not get a MUI string.
153 ntdll/tests: Improve the RtlWaitOnAddress() timeout checks.
154 kernel32: Fix the formatting of an NLS_IsUnicodeOnlyLcid() trace.
155 mlang/tests: Fix the check for non-English locales in test_GetCodePageInfo().
156 oleaut32: Fix a trace containing a null character.
157 oleaut32/tests: Allow testing VarParseNumFromStr() using Unicode strings.
158 oleaut32/tests: Add more VarParseNumFromStr() tests.
159 oleaut32: Fix the Var*FromStr() prototypes.
160 user32/tests: Fix the keyboard layout id in an ok() message.
161 kernel32/tests: Use WineTest contexts to simplify test_Loader().
162 winetest: Create the -d directory if it does not exist already.
163 oleaut32/tests: Use EQ_DOUBLE() in vartype too.
164 oleaut32: Update the VarDateFromStr() Y2K cutoff.
165 oleaut32: Update the SystemTimeToVariantTime() Y2K cutoff.
166 kernel32/tests: Allow failure when loading the 268 bytes minimal PE image.
167 oleaut32/tests: Report the error when VarParseNumFromStr() fails.
168 oleaut32: Fix VarParseNumFromStr()'s support for two-character currencies.
169 oleaut32: VarParseNumFromStr() accepts trailing currency symbols.
172 winevulkan: Fix pointer typedef base types.
173 winevulkan: Update to VK spec version 1.2.185.
174 winevulkan: Enable VK_HUAWEI_subpass_shading.
177 nsiproxy: Include netinet/in.h before if_ether.h.
179 Giovanni Mascellani (2):
180 winegstreamer: Set MF_MT_ALL_SAMPLES_INDEPENDENT for audio types.
181 mf/sar: Allow requesting more than a sample per period.
184 d3d11: Only complain once about d3d10 interface emulation in d3d11_device_context_SwapDeviceContextState().
185 d2d1: Do not clear the device context state in d2d_device_context_draw().
186 wined3d: Use wined3d_mask_from_size() in state_stencil().
187 wined3d: Use wined3d_mask_from_size() in wined3d_context_vk_apply_draw_state().
188 wined3d: Use wined3d_mask_from_size() in wined3d_render_pass_vk_init().
189 winex11: Request VK_KHR_external_memory_capabilities in get_gpu_properties_from_vulkan().
190 winex11: Request VK_KHR_display in get_gpu_properties_from_vulkan().
191 wined3d: Use wined3d_mask_from_size() in shader_glsl_ld_uav().
192 wined3d: Use wined3d_mask_from_size() in shader_glsl_atomic().
193 wined3d: Use wined3d_mask_from_size() in shader_glsl_get_sample_function().
196 reg/tests: Split 'import' syntax tests into a separate function.
197 reg/tests: Test use of registry views when importing keys and values.
198 reg: Support use of registry views in the 'import' command.
199 reg/tests: Add registry view syntax tests for the 'import' operation.
200 reg/tests: Test use of registry views when exporting registry data.
201 reg/tests: Split 'export' syntax tests into a separate function.
202 reg/tests: Use correct file and line arguments with delete_file().
203 reg: Support use of registry views when exporting registry data.
205 Huw D. M. Davies (30):
206 maintainers: Add a Network Store Interface section.
207 mountmgr.sys: Move dhcp lookup to a worker thread.
208 iphlpapi: Implement ConvertInterfaceIndexToLuid() on top of nsi.
209 iphlpapi: Implement ConvertInterfaceLuidToIndex() on top of nsi.
210 iphlpapi: Implement ConvertInterfaceGuidToLuid() on top of nsi.
211 iphlpapi: Implement ConvertInterfaceLuidToGuid() on top of nsi.
212 iphlpapi/tests: Run the interface conversion tests on all interfaces.
213 dhcpcsvc: Pass a luid instead of the adapter name.
214 iphlpapi: Implement ConvertInterfaceAliasToLuid().
215 iphlpapi: Implement ConvertInterfaceLuidToAlias().
216 mountmgr: Retrieve the unix-name from the alias.
217 iphlpapi: ConvertInterfaceLuidToNameW/NameToLuidW use names based on the luid's type and index.
218 iphlpapi: Implement GetIfTable2Ex() on top of nsi.
219 iphlpapi: Implement IfGetEntry2Ex() on top of nsi.
220 iphlpapi: Implement GetNumberOfInterfaces() on top of nsi.
221 iphlpapi: Implement ConvertGuidToString[AW]().
222 iphlpapi: Implement ConvertStringToGuidW().
223 iphlpapi: Use ConvertGuidToStringA() where possible.
224 iphlpapi: Implement GetInterfaceInfo() on top of GetIfTable().
225 iphlpapi: Implement GetAdapterIndex() on top of GetIfTable().
226 iphlpapi: Implement GetIfTable() on top of nsi.
227 iphlpapi: Implement GetIfEntry() on top of nsi.
228 iphlpapi: Implement AllocateAndGetIfTableFromStack() on top of nsi.
229 iphlpapi: Return the TCPIP device name in MIB_IFROW.
230 iphlpapi: Remove unused function getInterfaceStatsByName().
231 nsiproxy: Implement IP unicast enumerate_all.
232 nsiproxy: Implement IP unicast get_all_parameters.
233 iphlpapi: Implement GetUnicastIpAddressTable() on top of nsi.
234 iphlpapi: Implement GetUnicastIpAddressEntry() on top of nsi.
235 netapi32: Default to CP_UTF8 when WINEUNIXCP is not set.
238 gdi32: Introduce NtGdiExtGetObjectW.
239 gdi32: Reimplement GetObjectA on top of GetObjectW.
240 gdi32: Implement CreatePenIndirect on top of CreatePen.
241 gdi32: Introduce NtGdiCreatePen.
242 gdi32: Implement CreateBitmapIndirect on top of CreateBitmap.
243 gdi32: Introduce NtGdiCreateBitmap.
244 gdi32: Use ntgdi names for bitmap functions.
245 gdi32: Move CreateDiscardableBitmap implementation to objects.c.
246 gdi32: Introduce NtGdiDeleteObjectApp.
247 gdi32: Introduce NtGdiExtCreateRegion.
248 gdi32: Use ntgdi names for region constructors.
249 gdi32: Use ntgdi names for region functions.
250 gdi32: Move region helper functions to objects.c.
251 gdi32/tests: Remove workarounds for old Windows versions.
252 gdi32/test: Add more handle table tests.
253 gdi32: Store ntgdi object types in handle table.
254 gdi32: Rename gdi_private.h to ntgdi_private.h.
255 gdi32: Use NtGdiCreateClientObj for metafile objects.
256 gdi32: Use NtGdiCreateClientObj for enhmetafile objects.
257 include: Fix C++ InitPropVariantFromGUIDAsBuffer implementation.
258 include: Declare NTSTATUS in propvarutils.h.
259 gdi32: Introduce NtGdiLineTo.
260 gdi32: Introduce NtGdiMoveTo.
261 gdi32: Use NtGdiArcInternal for Arc implementation.
262 gdi32: Use NtGdiArcInternal for ArcTo implementation.
263 gdi32: Use NtGdiArcInternal for Chord implementation.
264 gdi32: Use NtGdiArcInternal for Pie implementation.
265 gdi32: Handle metafiles directly in LineTo implementation.
266 gdi32: Handle metafiles directly in MoveToEx implementation.
267 gdi32: Handle metafiles directly in Chord and Pie implementations.
268 gdi32: Handle metafiles directly in Arc implementation.
269 gdi32: Introduce DC_ATTR struct and use it to store current position.
272 gdi32: Fix a typo in unix_face_create().
275 po: Update German translation.
278 mf/evr: Query d3d device manager via MR_VIDEO_RENDER_SERVICE service.
279 evr/mixer: Set MF_MT_INTERLACE_MODE for the mixer output types.
280 mf/session: Forward MR_POLICY_VOLUME_SERVICE service requests to the SAR node.
281 mf/session: Use better failure code for rendering node service requests.
282 winegstreamer: Use consistent trace format for MF objects.
283 mfplat: Add some Video Processor attributes to tracing.
284 mfmediaengine: Handle shutdown state in SetSource().
285 mfmediaengine: Update network state when loading the media source.
288 mshtml: Move assert.h include to mshtml_private.h.
289 mshtml_private.tlb: Add private typelib.
290 mshtml: Export requestAnimationFrame() through a private interface.
291 mshtml: Add console object stub implementation.
292 ntdll: Add SystemKernelDebuggerInformationEx info class to NtQuerySystemInformation().
293 ntdll: Add stub for ProcessInstrumentationCallback info class in NtSetInformationProcess().
294 mshtml: Add stub for HTMLElement classList property.
295 mshtml: Add stub object for HTMLElement classList.
296 mshtml: Implement IWineDOMTokenList_add() method.
297 mshtml: Implement IWineDOMTokenList_remove() method.
298 ntdll: Comment out stubs for Nt and Zw functions.
301 msvcrt: Update round_limb on first limb length change in printf.
304 ntoskrnl.exe/tests: Only count test driver load notify.
305 ntoskrnl.exe/tests: Sync test utils with wine/test.h.
306 ntoskrnl.exe/tests: Add more tests for button array caps.
307 ntoskrnl.exe/tests: Add some HidD_GetInputReport tests.
308 ntoskrnl.exe/tests: Add some HidD_GetFeature tests.
309 ntoskrnl.exe/tests: Add some HidD_SetFeature tests.
310 ntoskrnl.exe/tests: Add some HidD_SetOutputReport tests.
311 ntoskrnl.exe: Send IRP_MN_SURPRISE_REMOVAL to the device stack first.
312 ntoskrnl.exe/tests: Return STATUS_PENDING from IOCTL_HID_READ_REPORT.
313 ntoskrnl.exe/tests: Add HID driver test in polled mode.
314 hidclass.sys: Return error on invalid write buffer size.
315 ntoskrnl.exe/tests: Add some IOCTL_HID_WRITE_REPORT tests.
316 hidclass.sys: Return error on invalid read buffer size.
317 ntoskrnl.exe/tests: Add some IOCTL_HID_READ_REPORT tests.
318 wine.inf: Consistently quote shell open and print commands.
321 include: Add AV1 support to dxva.h.
324 wininet/tests: Test InternetCrackUrl when given a bogus length.
325 wininet: Make heap_strndupAtoW stop at the first null.
326 wininet: Treat dwUrlLength as a maximum in InternetCrackUrlW.
328 Zebediah Figura (64):
329 server: Don't check the user data for NULL in async_terminate().
330 server: Call the close_handle callback and release_object_from_handle() in the same loop.
331 server: Explicitly return whether a select request was immediately signaled.
332 server: Remove special handling of STATUS_MORE_PROCESSING_REQUIRED.
333 ws2_32/tests: Fix some connection timeout tests.
334 ws2_32/tests: Add more tests for connection failure.
335 server: Return a Win32 error code from IOCTL_AFD_WINE_GET_SO_ERROR.
336 server: Separate a poll_single_socket() helper.
337 server: Report AFD_POLL_CONNECT_ERR if a previous connection attempt failed.
338 wined3d: Factor out most of the execute_command_list callback to a common function.
339 wined3d: Pass a wined3d_cs pointer to wined3d_not_from_cs().
340 wined3d: Set an array of constant buffers as a single CS operation.
341 wined3d: Set an array of shader resource views as a single CS operation.
342 wined3d: Set an array of samplers as a single CS operation.
343 server: Clear the connection error after a successful connection.
344 ws2_32/tests: Add more tests for invalid calls to connect() and ConnectEx().
345 server: Explicitly forbid connecting a listening or connected socket.
346 ws2_32: Move the setsockopt(IP_DROP_MEMBERSHIP) implementation to ntdll.
347 ws2_32: Move the setsockopt(IP_DROP_SOURCE_MEMBERSHIP) implementation to ntdll.
348 wined3d: Introduce a wined3d_bound_range() helper.
349 wined3d: Set an array of UAVs as a single CS operation.
350 ws2_32: Move the getsockopt(IP_HDRINCL) implementation to ntdll.
351 ws2_32: Move the setsockopt(IP_HDRINCL) implementation to ntdll.
352 ws2_32: Move the getsockopt(IP_MULTICAST_IF) implementation to ntdll.
353 ws2_32: Move the setsockopt(IP_MULTICAST_IF) implementation to ntdll.
354 ws2_32: Move the getsockopt(IP_MULTICAST_LOOP) implementation to ntdll.
355 include: Fix a byte offset in a comment.
356 wined3d: Move the uploads array in wined3d_deferred_context_record_command_list().
357 wined3d: Fix some memory leaks when destroying command lists.
358 wined3d: Fix some memory leaks when destroying deferred contexts.
359 ws2_32: Move the setsockopt(IP_MULTICAST_LOOP) implementation to ntdll.
360 ws2_32: Move the getsockopt(IP_MULTICAST_TTL) implementation to ntdll.
361 ws2_32: Move the setsockopt(IP_MULTICAST_TTL) implementation to ntdll.
362 ws2_32: Move the getsockopt(IP_OPTIONS) implementation to ntdll.
363 ws2_32: Move the setsockopt(IP_OPTIONS) implementation to ntdll.
364 ws2_32: Move the getsockopt(IP_PKTINFO) implementation to ntdll.
365 ws2_32: Move the setsockopt(IP_PKTINFO) implementation to ntdll.
366 ws2_32: Move the getsockopt(IP_TOS) implementation to ntdll.
367 ws2_32: Move the setsockopt(IP_TOS) implementation to ntdll.
368 ws2_32: Move the getsockopt(IP_TTL) implementation to ntdll.
369 qasf: Switch to the quartz debug channel.
370 qcap: Switch to the quartz debug channel.
371 qedit: Switch to the quartz debug channel.
372 qdvd: Switch to the quartz debug channel.
373 amstream: Switch to the quartz debug channel.
374 winegstreamer: Avoid using WARN_ON from a GStreamer callback.
375 winegstreamer: Factor out create_element().
376 winegstreamer: Avoid using Wine debugging functions at all in the Unix library.
377 winegstreamer: Switch to the quartz debug channel.
378 strmbase: Switch to the quartz debug channel.
379 wined3d: Recursively acquire queued command lists in wined3d_cs_acquire_command_list().
380 wined3d: Set the entire stream output state as a single CS operation.
381 wined3d: Set both the stream source and frequency for a given index as a single CS operation.
382 d3d11: Fail IASetVertexBuffers() if any of the offsets are unaligned.
383 wined3d: Set an arary of stream sources as a single CS operation.
384 d3d11: Fail OMSetRenderTargets() if any of the views have the wrong binding flags.
385 wined3d: Set an array of rendertarget views as a single CS operation.
386 d3d11: Implement constant buffer offsetting for OpenGL.
387 d3d11/tests: Add tests for constant buffer offsetting.
388 ntdll: Use a separate +unwind debug channel for unwinding on x86-64.
389 quartz: Factor out more of AdviseTime() and AdvisePeriodic().
390 quartz: Use a condition variable to wake up the system clock advise thread.
391 quartz/tests: Check that system clock measurements are in sequence instead of comparing absolute time.
392 quartz: Free outstanding advise requests when destroying a system clock.
395 user32: Avoid unnecessary scroll bar drawing.
396 user32: Remove SCROLL_DrawInterior_9x().
397 user32: Modify SCROLL_MovingThumb outside of SCROLL_DrawMovingThumb().
398 user32: Introduce a SCROLL_DrawNCScrollBar() to draw scroll bars in non-client area.
399 user32: Call SCROLL_DrawScrollBar() to draw arrows in SCROLL_HandleScrollEvent().
400 uxtheme: Avoid memory leaks.
401 user32: Call SCROLL_DrawScrollBar() to draw moving thumb in SCROLL_HandleScrollEvent().
402 user32: Call SCROLL_DrawScrollBar() to draw tracks in SCROLL_HandleScrollEvent().
403 user32: Pass a scroll bar tracking info parameter to SCROLL_DrawScrollBar().
404 user32: Separate scroll bar drawing calculation from actual drawing.
405 user32: Separate scroll bar window checks from actual drawing.
406 user32: Draw scroll bar size box and size grip in a single function.
407 uxtheme: Move themed scroll bar to uxtheme.
408 uxtheme: Move themed dialog to uxtheme.
409 uxtheme: Support drawing themed standard scroll bars.
410 uxtheme: Support pressed state for themed scroll bars.
411 uxtheme: Support scroll bar state tracking in non-client areas.
414 include: Add the D2D12DAffineTransform definitions.
415 d2d1/tests: Add an effects test.
416 d2d1: Add a ID2D1Image interface for effects.
417 d2d1: Implement d2d_effect_GetOutput().