gdi32: Support MWT_SET in NtGdiModifyWorldTransform.
[wine.git] / ANNOUNCE
blob2e3c2d888c028a284abd25f23f7cf8ef8bb99735
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.
7   - Various bug fixes.
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 ----------------------------------------------------------------
63 Changes since 6.13:
65 Aaron Hill (1):
66       crypt32: Add missing 'break' to X509_ECC_SIGNATURE case.
68 Akihiro Sagawa (3):
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.
128 André Zwing (1):
129       maintainers: Change my name.
131 Anton Baskanov (4):
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.
137 Biswapriyo Nath (1):
138       include: Add structure padding for aarch64 in dbghelp.h.
140 Daniel Lehman (2):
141       gdi32/tests: Add a test for double-free on repeated calls to Delete[Enh]MetaFile.
142       include: Add _tcsxfrm_l declaration.
144 Derek Lesho (2):
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.
151 Esme Povirk (1):
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.
167 Gerald Pfeifer (1):
168       nsiproxy: Include sys/socket.h.
170 Haoyang Chen (1):
171       winhttp: Handle headers with '\r' line breaks.
173 Hugh McMaster (6):
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().
187 Jacek Caban (73):
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.
262 Jan Sikorski (2):
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.
266 Julien Loir (1):
267       secur32: Ignore attribute when searching for buffer type.
269 Lauri Kenttä (1):
270       po: Update Finnish translation.
272 Martin Storsjo (10):
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.
287 Nikolay Sivov (6):
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.
295 Paul Gofman (10):
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.
307 Piotr Caban (4):
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.
371 Zhiyi Zhang (1):
372       uxtheme: Fix incorrect part IDs in button class map.
374 Ziqing Hui (3):
375       include: Add D2D13DPerspectiveTransform definitions.
376       include: Add D2D1Composite definitions.
377       d2d1/tests: Add tests for standard effect properties.
380 Alexandre Julliard
381 julliard@winehq.org