1 The Wine development release 6.14 is now available.
3 What's new in this release (see below for details):
4 - Mono engine updated to version 6.3.0, with upstream updates.
5 - 32->64-bit thunks implemented in WOW64 dll.
6 - More preparation work for the GDI syscall interface.
9 The source is available from the following locations:
11 https://dl.winehq.org/wine/source/6.x/wine-6.14.tar.xz
12 http://mirrors.ibiblio.org/wine/source/6.x/wine-6.14.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 6.14 (total 30):
30 22120 CTL3D help file is mostly scrunched to the left
31 22572 Managed C++ assemblies don't work in Wine + Mono
32 25167 Multiple .NET applications crash with unimplemented System.Security.Principal.WindowsIdentity.get_User (Eraser 6.0, Chocolatey package manager, WinAuth 3.6.x) when using Wine-Mono
33 28605 BurnPlot (VB6 app) fails to start
34 32316 Autodesk 3ds Max 9 32-bit exits silently or crashes on startup with Wine-Mono
35 41636 Multiple DirectX 11 games need ID3D11Device1::CreateDeferredContext1 implementation (WWE 2K15, Dishonored: Death of the Outsider, Pro Evolution Soccer 2019, Shantae and the Pirate's Curse, Space Engineers)
36 46014 Estlcam 11.x (.NET 4.x app) crashes on startup with Wine-Mono
37 48996 GRID Autosport hangs while loading
38 50962 reg.exe does not implement '/reg:32' and '/reg:64' command line switches
39 51126 Multiple games play truncated audio (Evil Twin in-game dialog, Fallout: New Vegas radio tracks)
40 51137 Construction Set for TES4 Oblivion missing or broken text in some places
41 51185 Windows fails to load the minimal PE image in kernel32:loader
42 51196 ntdll:om has a timing-related failure in Wine
43 51213 GZDoom Builder 2.3 r2787 fails with IdentityNotMappedException
44 51284 shell32:shellpath fails on Windows when there is more than one CD drive
45 51306 Wine-Mono doesn't show Japanese text (DllImport issue?).
46 51319 Star Citizen, WoW causes 100% CPU usage in wineserver
47 51334 Microsoft Xbox Live Developer Tool XblTestAccountGui crashes
48 51346 x264guiEx partly shows square characters when using Wine-Mono (default encoding issue with C++/CLI).
49 51410 mlang:mlang fails on the Hindi test configuration
50 51435 iostream float formatting broken since Wine 5.12-170-g1bc6f0c8617
51 51439 Grand Theft Auto V fails to save progress on game exit: "Save failed. Are you sure you want to quit now?"
52 51440 Sea of Thieves hangs on loading into the game
53 51450 oleaut32:varformat fails in Wine when the currency sign follows the amount
54 51453 oleaut32:vartype and oleaut32:vartest fail on Windows 10 1909+
55 51465 EVE Online launcher crashes
56 51485 Dead Rising crashes on launch
57 51493 WXDrive.exe from WeCom failed to startup.
58 51505 MIDISelector's MIDI mapper configuration doesn't take effect
59 51506 Disabled controls are not greyed out when theming is active
61 ----------------------------------------------------------------
66 crypt32: Add missing 'break' to X509_ECC_SIGNATURE case.
69 include: Fix a typo in _tcsxfrm_l.
70 midimap: Switch to the midi debug channel.
71 midimap: Introduce XP form and prefer it.
73 Alexandre Julliard (53):
74 ntdll/tests: Add tests for Wow64SystemServiceEx().
75 ntdll: Load wow64.dll in 64-bit Wow64 processes.
76 wow64: Add stubs for Wow64LdrpInitialize() and Wow64SystemServiceEx().
77 wow64: Load the backend cpu dll at process init.
78 wow64: Add support for setting up the syscall table.
79 wow64: Add thunks for a few simple syscalls.
80 wow64: Add thunks for the atom syscalls.
81 ntdll: Always clear the returned handle in Nt object functions.
82 wow64: Add thunks for the event syscalls.
83 wow64: Add thunks for the mutant syscalls.
84 wow64: Add thunks for the semaphore syscalls.
85 wow64: Add a stub for Wow64ApcRoutine().
86 wow64: Add thunks for the timer syscalls.
87 wow64: Add thunks for the keyed event syscalls.
88 wow64: Add thunks for the directory object syscalls.
89 wow64: Add thunks for the debug object syscalls.
90 wow64: Add thunks for the I/O completion syscalls.
91 wow64: Add thunks for the job object syscalls.
92 wow64: Add thunks for the symbolic link object syscalls.
93 wow64: Add thunks for some general synchronization syscalls.
94 Revert "winegcc: Support -Wl,foo=... style linker options."
95 wow64: Add thunks for the section object syscalls.
96 wow64: Add thunks for the generic object syscalls.
97 wow64: Add thunks for the local port syscalls.
98 wow64: Add thunks for the power request syscalls.
99 wow64: Add thunks for the registry key syscalls.
100 wow64: Add thunks for the registry value syscalls.
101 wow64: Add thunks for the registry I/O syscalls.
102 wow64: Add thunks for the virtual memory syscalls.
103 wow64: Add thunks for the memory mapping syscalls.
104 wow64: Add thunks for the write watch syscalls.
105 wow64: Add a thunk for the NtQueryVirtualMemory syscall.
106 wow64: Add thunks for the Wow64-specific virtual memory syscalls.
107 ntdll/tests: Add a test for a Wow64-only syscall.
108 ntdll: Rename the SYSTEM_MODULE and SYSTEM_MODULE_INFORMATION structures.
109 wow64: Implement Wow64AllocateTemp().
110 wow64: Add thunks for the file creation syscalls.
111 wow64: Add thunks for the file I/O syscalls.
112 wow64: Add thunks for the file query information syscalls.
113 wow64: Add thunks for the file set information syscalls.
114 wow64: Add thunks for the file async I/O syscalls.
115 wow64: Add thunks for some misc file creation syscalls.
116 wow64: Add support for file system redirection.
117 wow64: Add thunks for the process/thread creation syscalls.
118 wow64: Add thunks for the process/thread control syscalls.
119 wow64: Add thunks for the process/thread query information syscalls.
120 wow64: Add thunks for the process/thread set information syscalls.
121 wow64: Add thunks for the registry notification syscalls.
122 wow64: Add thunks for a number of security syscalls.
123 server: Store the entry point as image-relative in pe_image_info_t.
124 wow64: Add thunks for the token query/set information syscalls.
125 wow64: Add thunks for the job object query/set information syscalls.
126 wow64: Add thunks for a number of system syscalls.
129 maintainers: Change my name.
132 winedbg: Report library load/unload events to GDB.
133 winegstreamer: Inline query_duration() into wg_parser_connect().
134 winegstreamer: Always wait for duration-changed when querying for duration.
135 winegstreamer: Continue polling if duration is unavailable after duration-changed.
138 include: Add structure padding for aarch64 in dbghelp.h.
141 gdi32/tests: Add a test for double-free on repeated calls to Delete[Enh]MetaFile.
142 include: Add _tcsxfrm_l declaration.
145 winevulkan: Support use of extensions which mustn't be exposed.
146 vulkan-1/tests: Add tests for VK_KHR_external_memory_win32.
148 Dmitry Timoshkov (1):
149 shell32: Implement SHBindToObject.
152 mscoree: Update Wine Mono to 6.3.0.
154 François Gouget (11):
155 oleaut32/tests: Remove unneeded casts in vartest.
156 oleaut32/tests: Fix the Swiss franc and Moroccan dirham tests.
157 oleaut32: Setting sThousand to a non-breaking space also matches regular spaces.
158 oleaut32: VarParseNumFromStr() does not allow leading thousands separators.
159 oleaut32: Fix VarParseNumFromStr()'s support for trailing thousands separator spaces.
160 oleaut32/tests: Show the input string when VarFormatCurrency() fails.
161 riched20: Tweak the wording of a comment.
162 winetest: Fix handling of relative -d directories.
163 oleaut32/tests: Use NUMPRS_HEX_OCT instead of hardcoding its value.
164 oleaut32/tests: Test VarParseNumFromStr()'s handling of LOCALE_SMON*.
165 oleaut32/tests: Add more VarParseNumFromStr() hexadecimal/octal tests.
168 nsiproxy: Include sys/socket.h.
171 winhttp: Handle headers with '\r' line breaks.
174 kernel32/tests: Test whether console color attributes are copied to the new screen buffer.
175 kernel32/tests: Test whether font information and window size are copied to the new screen buffer.
176 conhost: Copy Character Attributes (colors) to the new screen buffer.
177 reg/tests: Test use of registry views when copying registry data.
178 conhost: Popup Attributes should match Character Attributes when creating a new screen buffer.
179 reg: Support use of registry views in the 'copy' operation.
181 Huw D. M. Davies (4):
182 iphlpapi: Implement GetIpAddrTable() on top of nsi.
183 iphlpapi: Implement AllocateAndGetIpAddrTableFromStack() on top of GetIpAddrTable().
184 iphlpapi: Retrieve the IPv4 addresses using an export rather than a helper.
185 include: Add IN6_IS_ADDR_LINKLOCAL() and IN6_IS_ADDR_SITELOCAL().
188 gdi32/tests: Silence noisy traces.
189 gdi32: Handle EMFs recording directly in LineTo implementation.
190 gdi32: Use DC_ATTR for GetCurrentPositionEx implementation.
191 gdi32: Handle EMFs directly in MoveToEx.
192 gdi32: Store graphics mode in DC_ATTR.
193 gdi32: Handle EMFs directly in arc functions.
194 gdi32: Use NtGdiEllipse for Ellipse implementation.
195 gdi32: Use NtGdiRoundRect for RoundRect implementation.
196 gdi32: Use NtGdiRectangle for Rectangle implementation.
197 gdi32: Use NtGdiAngleArc for AngleArc implementation.
198 advapi32: Link to msvcrt.dll.
199 gdi32: Use free_gdi_handle directly for NtGdiDeleteClientObj.
200 gdi32: Use NtGdiPolyPolyDraw for PolyPolygon implementation.
201 winex11: Don't use pPolygon graphics driver entry point.
202 gdi32: Use NtGdiPolyPolyDraw for Polygon implementation.
203 gdi32: Use NtGdiPolyPolyDraw for PolyPolyline implementation.
204 gdi32: Use NtGdiPolyPolyDraw for Polyline implementation.
205 gdi32: Remove no longer used Polygon and Polyline driver entry points.
206 gdi32: Use NtGdiPolyPolyDraw for PolyBezier implementation.
207 gdi32: Use NtGdiPolyPolyDraw for PolylineTo implementation.
208 gdi32: Use NtGdiPolyPolyDraw for PolyBezierTo implementation.
209 gdi32: Use NtGdiPolyDraw for PolyDraw implementation.
210 gdi32: Use NtGdiPolyPolyDraw for CreatePolyPolygonRgn implementation.
211 gdi32: Store text alignment in DC_ATTR.
212 gdi32: Use NtGdiExtTextOutW for ExtTextOutW implementation.
213 gdi32: Use NtGdiCloseFigure for CloseFigure implementation.
214 gdi32: Use ntgdi interface for path functions.
215 gdi32: Remove no longer used EMF path driver.
216 gdi32: Use NtGdiSetPixel for SetPixel implementation.
217 gdi32: Use SetPixel for SetPixelV implementation.
218 gdi32: Use ntgdi name for GetPixel.
219 gdi32: Use NtGdiSetPixelFormat for GdiSetPixelFormat implementation.
220 gdi32: Use ntgdi names for stubs in painting.c.
221 gdi32: Use NtGdiFillRgn for FillRgn implementation.
222 gdi32: Use NtGdiFillRgn for PaintRgn implementation.
223 gdi32: Use NtGdiFrameRgn for FrameRgn implementation.
224 gdi32: Use NtGdiInvertRgn for InvertRgn implementation.
225 gdi32: Use NtGdiExtFloodFill for ExtFloodFill implementation.
226 gdi32: Use META_EXTFLOODFILL records for ExtFloodFill.
227 gdi32: Use NtGdiGradientFill for GdiGradientFill implementation.
228 gdi32: Use get_dc_attr in SetTextAlign.
229 gdi32: Move background mode to DC_ATTR.
230 gdi32: Use get_dc_attr in SetBkMode.
231 gdi32: Move disabled flag to DC_ATTR.
232 gdi32: Move ROP mode to DC_ATTR.
233 gdi32: Use get_dc_attr in SetROP2.
234 gdi32: Move layout to DC_ATTR.
235 gdi32: Move background color to DC_ATTR.
236 gdi32: Use get_dc_attr in GetGraphicsMode.
237 gdi32: Remove no longer used driver entry points.
238 gdi32: Store text color in DC_ATTR.
239 gdi32: Store arc direction in DC_ATTR.
240 include: Introduce combaseapi.h.
241 combase: Add CoDecodeProxy stub.
242 gdi32: Use get_dc_attr in SetArcDirection.
243 gdi32: Move color space stubs to objects.c.
244 gdi32: Store rel abs mode in DC_ATTR.
245 gdi32: Use get_dc_attr in SetRelAbs.
246 gdi32: Store poly fill mode in DC_ATTR.
247 gdi32: Use get_dc_attr in SetPolyFillMode.
248 gdi32: Store stretch_blt_mode in DC_ATTR.
249 gdi32: Use get_dc_attr in SetStretchBltMode.
250 gdi32: Store map mode in DC_ATTR.
251 gdi32: Remove no longer used driver entry points.
252 gdi32: Store DC brush color in DC_ATTR.
253 gdi32: Store DC pen color in DC_ATTR.
254 gdi32: Store miter limit in DC_ATTR.
255 gdi32: Use get_dc_attr in SetMiterLimit.
256 gdi32: Move more functions from dc.c.
257 gdi32: Use NtGdiSaveDC for SaveDC implementation.
258 gdi32: Don't use driver entry point for NtGdiSaveDC implementation.
259 gdi32: Use ntgdi name for CreateCompatibleDC.
260 gdi32: Use NtGdiGetDeviceCaps for GetDeviceCaps implementation.
263 wined3d: Track queries started inside/outside of a render pass separately.
264 wined3d: Do not request device local memory if we also want it to be host visible.
267 secur32: Ignore attribute when searching for buffer type.
270 po: Update Finnish translation.
273 ntdll: Fix arm64 call_user_exception_dispatcher with kernel stack for syscalls.
274 msvcrt: Make the coshf function NAN preserving.
275 msvcrt: Make the sinhf function NAN preserving.
276 msvcrt: Make the tanhf function NAN preserving.
277 msvcrt: Make the cosh function NAN preserving.
278 msvcrt: Make the sinh function NAN preserving.
279 msvcrt: Make the tanh function NAN preserving.
280 msvcrt: Add hyperbolic functions NAN tests.
281 msvcrt: Fix strtof() error reporting for values out of float range.
282 msvcrt: Convert double (numerically) to UINT64 via INT64, fixing pow() on arm.
284 Michael Stefaniuc (1):
285 dinput: Use SUCCEEDED instead of !FAILED.
288 mf/session: Add a helper to send events while completing commands.
289 mf/session: Fail start requests when no topology was set.
290 mfmediaengine: Handle Play() when called before topology is set.
291 mfmediaengine: Handle B8G8R8X8 format for d3d11 texture output.
292 dpnhupnp: Build with msvcrt.
293 mfplat/allocator: Handle D3D11 resource sharing mode configuration attributes.
296 mshtml: Do not lock document mode in create_document_event().
297 mshtml: Default to IE11 for Internet URL zone.
298 ole32: Move OLEClipbrd_Initialize() before get_ole_clipbrd().
299 ole32: Do not link OLE clipboard object lifecycle to OLE initialization state.
300 ntdll: Decrement IO pending count in ioqueue_thread_proc().
301 ntdll: Only queue IO callback if IO is pending in ioqueue_thread_proc().
302 ntdll: Clear thread_running flag on exiting ioqueue_thread_proc().
303 ntdll: Manage TPIO object destruction based on the expected completions.
304 kernelbase: Don't allow converting thread to fiber more than once.
305 jscript: Store the head of statement list instead of the list structure.
308 msvcrt: Use _MCW_RC rounding mask in fesetround and fegetround.
309 msvcrt: Introduce fenv_decode helper in all runtime versions.
310 msvcrt: Don't set x87 control word in x86_64 fesetenv.
311 msvcrt: Introduce fenv_encode helper in all runtime versions.
313 Zebediah Figura (56):
314 crypt32: Rename "crl" and "cloned" to "dst" and "src" in CRL_clone().
315 crypt32: Copy the CRL_INFO structure instead of recalculating it.
316 cryptnet: Use RTL_SIZEOF_THROUGH_FIELD.
317 cryptnet/tests: Clean up and expand tests for CertDllVerifyRevocation.
318 cryptnet: Set dwIndex in CertDllVerifyRevocation().
319 ws2_32/tests: Add more tests for bind() and getsockname().
320 ws2_32: Validate address length in bind().
321 ws2_32: Do not translate STATUS_INVALID_PARAMETER to WSAEFAULT.
322 server: Avoid leaking the ifaddrs structure in bind_to_interface().
323 server: Support passing to bind a zero sin6_scope_id.
324 server: Map ENODEV to STATUS_INVALID_ADDRESS_COMPONENT.
325 winegstreamer: Don't try to convert duration from byte length.
326 quartz/tests: Add more strict tests for accurate duration retrieval.
327 cryptnet: Specify half of the remaining timeout for each CRL if CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG was specified.
328 cryptnet: Respect the timeout also if CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG is not set.
329 cryptnet: Check only the first successfully retrieved CRL in verify_cert_revocation_from_dist_points_ext().
330 cryptnet: Cache the result of revocation checks on disk.
331 wined3d: Separate a helper to update Vulkan CBV bindings.
332 wined3d: Separate a helper to update Vulkan SRV bindings.
333 wined3d: Separate a helper to update Vulkan UAV bindings.
334 wined3d: Separate a helper to update Vulkan UAV counter bindings.
335 wined3d: Separate a helper to update Vulkan sampler bindings.
336 wined3d: Implement constant buffer offsetting for Vulkan.
337 server: Validate the output size of IOCTL_AFD_BIND against the input address size rather than sizeof(struct sockaddr).
338 server: Do not accept sizeof(struct WS_sockaddr_in6_old).
339 ntdll: Do not accept sizeof(struct WS_sockaddr_in6_old).
340 ws2_32: Do not accept sizeof(struct WS_sockaddr_in6_old).
341 ws2_32: Dump the flow label and scope ID in debugstr_sockaddr().
342 server: Also return STATUS_PIPE_DISCONNECTED for shutdown nonblocking sockets.
343 server: Separate SD_RECEIVE and hangup conditions.
344 server: Remove the socket from the polling loop if both it and the peer have SHUT_WR.
345 server: Remove the socket from the polling loop if it was aborted.
346 ntdll: Fill the I/O status block with the results of the send_socket call in sock_send().
347 ntdll: Fill the I/O status block with the results of the recv_socket call in sock_recv().
348 ws2_32: Move the setsockopt(IP_TTL) implementation to ntdll.
349 ws2_32: Move the setsockopt(IP_UNBLOCK_SOURCE) implementation to ntdll.
350 ws2_32: Move the getsockopt(IP_UNICAST_IF) implementation to ntdll.
351 ws2_32: Move the setsockopt(IP_UNICAST_IF) implementation to ntdll.
352 wined3d: Check for failure from wined3d_device_context_require_space() in wined3d_device_context_emit_unmap().
353 ws2_32: Move the setsockopt(IPV6_ADD_MEMBERSHIP) implementation to ntdll.
354 ws2_32: Move the getsockopt(IPV6_DONTFRAG) implementation to ntdll.
355 ws2_32: Move the setsockopt(IPV6_DONTFRAG) implementation to ntdll.
356 ws2_32: Move the setsockopt(IPV6_DROP_MEMBERSHIP) implementation to ntdll.
357 ws2_32: Move the getsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
358 ws2_32: Move the setsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
359 ws2_32: Move the getsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
360 ws2_32: Move the setsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
361 ws2_32: Move the getsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
362 ws2_32: Move the setsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
363 wined3d: Use a designated initializer to initialize wined3d_settings.
364 ws2_32: Move the getsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
365 ws2_32: Move the setsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
366 ws2_32: Move the getsockopt(IPV6_UNICAST_IF) implementation to ntdll.
367 ws2_32: Move the setsockopt(IPV6_UNICAST_IF) implementation to ntdll.
368 ws2_32: Move the getsockopt(IPV6_V6ONLY) implementation to ntdll.
369 ws2_32: Move the setsockopt(IPV6_V6ONLY) implementation to ntdll.
372 uxtheme: Fix incorrect part IDs in button class map.
375 include: Add D2D13DPerspectiveTransform definitions.
376 include: Add D2D1Composite definitions.
377 d2d1/tests: Add tests for standard effect properties.