gdiplus: Convert to 32bppARGB when PNG image with transparency chunk is loaded. ...
[wine.git] / ANNOUNCE
blob91b25342fe9d4e4a08e57a0c59fc7d61ccd576cc
1 The Wine development release 3.19 is now available.
3 What's new in this release (see below for details):
4   - Support for file I/O completion modes.
5   - WaitOnAddress synchronization primitives.
6   - Better support for 32-bit .NET binaries on 64-bit.
7   - Improved recovery on broken RPC connection.
8   - Various bug fixes.
10 The source is available from the following locations:
12   https://dl.winehq.org/wine/source/3.x/wine-3.19.tar.xz
13   http://mirrors.ibiblio.org/wine/source/3.x/wine-3.19.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 3.19 (total 31):
31   26198  BrainSplode! is not rendered properly
32   26936  Advanced SystemCare 6.4 crashes on startup with divide by zero in LVM_GETCOUNTPERPAGE handler ('LISTVIEW_GetCountPerColumn' doesn't account for zero item height)
33   28923  utorrent 2.2.1 causes a comctl32 assert
34   34711  Terraria Server 1.2.0.x fails on startup (needs CLSID_UPnPNAT {ae1e00aa-3fd5-403c-8a27-2bbdc30cd0e1})
35   38189  Multiple applications want 'IHTMLDocument2::put_charset' implementation (Yarxi dictionary, iPed 7G 2019)
36   38422  SentriLock SentriCard utility installer 4.0.x crashes with arithmetic exception due to large input rect in 'GdipMeasureCharacterRanges'
37   38960  Multiple applications need 'kernel32.SetFileCompletionNotificationModes' implementation (Steam 'steamwebhelper.exe' and Blizzard Battle.net desktop app CEF v3.2+/Chromium v44+ crash in Win7 mode, Sony Xperia Companion 1.7.x)
38   39207  Battlefield 2 Demo - Crashes
39   39355  The Guild 2 Demo installer crashes when starting copying files
40   40289  winedbg --gdb fails to create process
41   40470  Wine builtin wordpad.exe crashes with Wine 1.6.2 (out-of-bounds array access in registry_set_filelist)
42   40534  Advanced SystemCare 6.4 crashes while retrieving WMI class 'Win32_PhysicalMedia' properties due to unimplemented 'ISWbemPropertySet::get_Count' method
43   43177  ClassicStartMenu from Classic Shell 4.3.0 crashes on unimplemented function dwmapi.127 (undocumented DwmpGetColorizationParameters)
44   43848  Grand Theft Auto 5 and Tomb Raider 2013 need DepthBiasClamp
45   44052  Multiple applications and games fail to run due to missing D2D device and device context and multiple API stubs (Temple+, DJKaty.com 'Simple2D' examples)
46   44355  FACEIT Desktop client crashes on startup
47   44912  Tibia client reports 'Failed to launch game', needs 'ntdll.RtlCreateUserProcess' implementation
48   45197  Project CARS 2 hangs on startup (unhandled standard multisample quality levels)
49   45199  Many applications and games fail to start/crash after compiling wine with gcc 8.1.0 and -O2 (GOT/PIC register load code now emitted at function entry, missing hotpatch signatures)
50   45659  Paint Shop Pro 2018/2019 Installer complains:`` JavaScript is disabled``, then aborts
51   45904  RasAero II crashes in wine-1.6.2 when button is pressed due to argument conversion exception.
52   45922  32-bit Black Desert Online 1.0.4.x client crashes on startup (custom imports resolver can't cope with some ucrtbase functions being forwarded to ntdll)
53   45932  Assassin's Creed gameplay freezes after looking around with mouse
54   45955  Wineconsole: font size is not scaled with system dpi settings
55   45971  K-Shoot Mania: Some objects aren't drawn properly.
56   45972  Lego Mindstorms EV3 1.3.1 installer crashes
57   45982  SofTalk 1.56: Exit abnormally when pressing "Play" button ("Run-time error '5': Invalid procedure call or argument")
58   45994  Affinity Designer crashes on unimplemented mscms.WcsEnumColorProfilesSize
59   45995  Affinity Designer crashes on unimplemented kernel32.MoveFileTransactedW
60   45996  S.T.A.L.K.E.R. Call Of Prypyat DX11 benchmark has visual artifacts
61   46024  Qt applications crash after call to WTOpen without tablet hardware attached
63 ----------------------------------------------------------------
65 Changes since 3.18:
67 Aaryaman Vasishta (4):
68       d3drm/tests: Add tests for IDirect3DRMTexture*_InitFromFile().
69       d3drm/tests: Add tests for IDirect3DRM*_LoadTexture().
70       d3drm: Partially implement d3drm_texture*_InitFromFile().
71       d3drm: Implement d3drm*_LoadTexture().
73 Akihiro Sagawa (5):
74       gdi32/tests: Add more stretch bitblt tests.
75       gdi32: Fix negative width/height handling in stretch bitblt family.
76       gdi32: Adjust destination coordinates in some special cases.
77       kernel32/tests: Add LCMapString tests with a voiced consonant Hiragana character.
78       kernel32: Fix LCMapString buffer calculation with LCMAP_KATAKANA and LCMAP_HALFWIDTH.
80 Alex Henrie (4):
81       winex11: Return FALSE from LoadTabletInfo if the system isn't a tablet.
82       dwmapi: Fill in function names of documented ordinals.
83       dwmapi: Add stub DwmpGetColorizationParameters.
84       wintab32: Change the LoadTabletInfo failure message from ERR to TRACE.
86 Alexandre Julliard (24):
87       kernel32: Pass the standard process parameters structure to create_process().
88       kernel32: Pass the standard process parameters structure to fork_and_exec().
89       widl: Support generating multiple typelibs into the same resource file.
90       ntdll: Store a copy of the environment in RtlCreateProcessParametersEx().
91       ntdll: Fixup size of the current directory in RtlCreateProcessParametersEx().
92       ntdll: Align string data in RtlCreateProcessParametersEx().
93       ntdll: Allocate process parameters on the heap in RtlCreateProcessParametersEx().
94       ntdll/tests: Add tests for RtlCreateProcessParameters().
95       kernel32: Move environment Unicode conversion into create_process_params().
96       kernel32: Get the current directory from the process parameters in create_cmd_process().
97       wineconsole: Set the correct font height even when no registry data is present.
98       server: Add a separate request to exec a new process.
99       server: Pass a process as parent to create_process().
100       kernel32: Separate the exec process functionality.
101       kernel32: Get std handles from the process parameters.
102       kernel32: Use the Unicode string length to build the argv array.
103       kernel32: Avoid setting an empty current directory in the process params.
104       ntdll: Implement RtlCreateUserProcess().
105       ntdll: Also return the SECTION_IMAGE_INFORMATION data from RtlCreateUserProcess().
106       ntdll: Convert PE header to 64-bit when loading a 32-bit IL-only module.
107       ntdll: Use the default keyed event when the handle is null.
108       ntdll: Partially implement RtlRandomEx().
109       kernel32: Implement CreateProcessInternalA/W.
110       kernel32: Add CreateProcessAsUserA/W.
112 Alistair Leslie-Hughes (9):
113       include: Add missing XINPUT_CAPS_ defines.
114       include: Add natupnp.idl.
115       hnetcfg: Register NATUPnP interface.
116       hnetcfg: Support IUPnPNAT interface.
117       hnetcfg: Link to uuid library.
118       hnetcfg/tests: Add IUPnPNAT interface tests.
119       shell32: Properly fail when a data object cannot be created.
120       hnetcfg: Add test for IProvideClassInfo interface.
121       wine.inf: Install oledb32,msdaps to the right location for WOW64.
123 Andrew Wesie (4):
124       wined3d: Add sync object after query buffer issue.
125       d3d9/tests: Regression test for query objects.
126       wined3d: Implement D3D11_STANDARD_MULTISAMPLE_PATTERN.
127       d3d11/tests: Add a test for D3D11_STANDARD_MULTISAMPLE_PATTERN.
129 André Hentschel (1):
130       gdi32: Spelling fixes in a comment.
132 Aurimas Fišeras (1):
133       po: Update Lithuanian translation.
135 Brendan McGrath (1):
136       advapi32: Don't create a WoW6432 MachineGuid.
138 Byeong-Sik Jeon (1):
139       gdi32: Support the gamma correction for the subpixel rendering.
141 Daniel Ansorregui (4):
142       d2d1: Use default NULL argument in SetBlendState call.
143       wined3d: Store the blend factor as a struct wined3d_color.
144       d3d11/tests: Add a blend factor test.
145       d3d10core/tests: Add a blend factor test.
147 Daniel Lehman (6):
148       msxml3: Allow creating floating attributes.
149       msxml3: Treat namespaces as floating attributes.
150       msxml3/tests: Add some more namespaces tests.
151       msxml3: Return URL from get_namespaceURI from attributes for MSXML6.
152       ntdll: Implement RtlWaitOnAddress functions.
153       kernelbase: Add WaitOnAddress functions.
155 Dmitry Timoshkov (20):
156       kernel32/tests: Fix compilation with PSDK.
157       kernel32/tests: Fix a bunch of access denied errors by using a dedicated TEMP directory.
158       kernel32/tests: Move the MoveFile test where it belongs.
159       kernel32: MoveFile(source, source) should succeed.
160       kernel32: MoveFile should make sure that it has the delete access to the source file.
161       kernel32/tests: Add some tests for GetLongPathName/GetShortPathName called with a wildcard.
162       kernel32: GetShortPathName should fail when called with a wildcard.
163       kernel32: GetLongPathName should fail when called with a wildcard.
164       crypt32/tests: Actually test the return value of CryptGetKeyParam.
165       crypt32: Make I_CryptGetDefaultCryptProv hot-patchable.
166       crypt32: Add support for exporting public key information from a 3rd party CSP.
167       crypt32: Add support for importing public key information to a 3rd party CSP.
168       shell32: Add bitmap resources for ids 133 and 134.
169       crypt32/tests: Get rid of win9x specific checks.
170       crypt32: Make it clear that LocalAlloc should return a pointer.
171       crypt32: Forward CryptDecodeObject to CryptDecodeObjectEx.
172       crypt32: Simplify the CertComparePublicKeyInfo implementation.
173       crypt32: Trace entry contents in CryptInstallOIDFunctionAddress.
174       crypt32/tests: Add more tests for CertComparePublicKeyInfo.
175       crypt32: CertComparePublicKeyInfo should not try to decode a non-RSA public key.
177 François Gouget (9):
178       po: Remove spaces before '\n's.
179       po: Remove a stray line in the Chinese (PRC) translation.
180       hnetcfg: Add a trailing '\n' to a TRACE().
181       services/tests: Some spelling and duplicate word fixes.
182       comctl32: Avoid an unneeded lstrlenW() call.
183       crypt32/tests: Fix a typo and reword a comment.
184       crypt32/tests: Avoid an unneeded strlen() call.
185       winebus.sys: Avoid an unneeded strlen() call.
186       winemenubuilder: Avoid unneeded lstrlenA() calls.
188 Gabriel Ivăncescu (7):
189       shell32/autocomplete: Fix handling of Return key when an auto-suggestion item is selected.
190       shell32/autocomplete: Hide the auto-suggest listbox when ESC is pressed.
191       shell32/autocomplete: Reset the contents of the AutoComplete listbox when hiding it.
192       shell32/autocomplete: Hide the AutoComplete listbox when auto-suggest is turned off.
193       shell32/autocomplete: Implement ACO_USETAB option.
194       shell32/autocomplete: Use the optional IACList interface and IACList::Expand, if available.
195       shell32/tests: Test when IACList::Expand gets called and with what string.
197 Gijs Vermeulen (3):
198       include: Add FMS* definitions.
199       include: Add FS_FILE_ENCRYPTION definition.
200       include: Add LOCALE_[SLOCALIZEDDISPLAYNAME|ALLOW_NEUTRAL_NAMES] definitions.
202 Hans Leidekker (4):
203       webservices: Add a version resource.
204       webservices: Don't set the critical section name in the Windows build.
205       webservices: Trace return values.
206       webservices: Add more tests for default envelope and adressing versions.
208 Henri Verbeet (11):
209       wined3d: Avoid accessing the device after deactivation some more.
210       wined3d: Validate the initial texture data before initialising the texture.
211       wined3d: Introduce debug helpers for wined3d_bo_address structures.
212       wined3d: Store the "buffer_object" in struct wined3d_bo_address as an UINT_PTR.
213       wined3d: Get rid of the "format_id" parameter to buffer_init().
214       wined3d: Pass the wined3d_buffer_desc structure directly to buffer_init().
215       wined3d: Get rid of the "device" parameter to context_bind_dummy_textures().
216       wined3d: Introduce a separate structure for OpenGL device information.
217       wined3d: Introduce a separate structure for OpenGL buffer information.
218       wined3d: Move the "buffer_type_hint" field from struct wined3d_buffer to struct wined3d_buffer_gl.
219       wined3d: Move the "buffer_object_usage" field from struct wined3d_buffer to struct wined3d_buffer_gl.
221 Jacek Caban (21):
222       rpcrt4: Reset assoc_group_id on associations with no active connection.
223       rpcrt4: Try reconnecting when to server in IRpcSend on broken connection.
224       mshtml: Try to avoid use_event_quirks in call_event_handlers if possible.
225       jscript: Allow trailing comma in object literals.
226       server: Use pipe_end_get_file_info for FilePipeLocalInformation implementation.
227       server: Use pipe_end_get_file_info for FilePipeInformation implementation.
228       server: Support NamedPipeState in FilePipeLocalInformation.
229       rpcrt4/tests: Get rid of no longer needed win9x checks.
230       rpcrt4: Add RpcExceptionFilter implementation.
231       rpcrt4/tests: Add a test of client reconnecting on send failure.
232       mshtml: Return S_OK in IHTMLDocument2::put_charset.
233       server: Return STATUS_BUFFER_OVERFLOW in pipe_end_peek for partial reads in message mode.
234       kernel32/tests: Add more PeekNamedPipe tests.
235       server: Improve error handling of disconnected named pipe clients.
236       ntdll: Set IO_STATUS_BLOCK on non-blocking NtFlushBuffersFile success.
237       winex11.drv: Force changing lock keys state if hooks blocked keyboard input processing.
238       server: Use server_get_file_info for all info classes not implemented on client side.
239       server: Use default_fd_get_file_info for FileAccessInformation implementation.
240       ntdll/tests: Add more NtQueryInformationFile tests.
241       server: Add NtQueryInformationFile(FileIoCompletionNotificationInformation) implementation.
242       ntdll/tests: Added more FILE_SKIP_COMPLETION_PORT_ON_SUCCESS tests.
244 Jactry Zeng (1):
245       kernel32: Don't check a discarded variable.
247 Józef Kucia (5):
248       winevulkan: Update vk.xml to 1.1.88.
249       wined3d: Call wined3d_cs_emit_update_sub_resource() directly in wined3d_texture_create().
250       d3d11/tests: Add test for initial texture data.
251       d3d10core/tests: Add test for initial texture data.
252       d3d10core/tests: Add test for rendering to A8_UNORM texture.
254 Kim Malmo (1):
255       po: Update Norwegian translation.
257 Kodama Nozomi (1):
258       opengl32/tests: PFD_TYPE_RGBA should be in the iPixelType field, not in the flag field.
260 Lauri Kenttä (1):
261       po: Update Finnish translation.
263 Louis Lenders (2):
264       mscms: Add stub for WcsEnumColorProfilesSize.
265       kernel32: Add stub for MoveFileTransacted{A,W}.
267 Mark Jansen (1):
268       shell32: Expand environment strings in ShellExecute.
270 Matteo Bruni (1):
271       wined3d: Invalidate shader resource bindings when blitting.
273 Michael Müller (1):
274       browseui: Implement PROGDLG_AUTOTIME flag for IProgressDialog.
276 Michael Stefaniuc (19):
277       dinput: Use the ARRAY_SIZE() macro.
278       rpcrt4: Avoid a variable holding an ARRAY_SIZE result.
279       rpcrt4: Use the ARRAY_SIZE() macro.
280       rpcrt4: Use the standard ARRAY_SIZE() macro.
281       winedump: Use the ARRAY_SIZE() macro.
282       server: Use the ARRAY_SIZE() macro.
283       wmc: Use the ARRAY_SIZE() macro.
284       wrc: Use the ARRAY_SIZE() macro.
285       dmcompos: Use the ARRAY_SIZE() macro.
286       dmband: Use the ARRAY_SIZE() macro.
287       dmime: Use the ARRAY_SIZE() macro.
288       dmloader: Use the ARRAY_SIZE() macro.
289       dmscript: Use the ARRAY_SIZE() macro.
290       dmstyle: Use the ARRAY_SIZE() macro.
291       dmsynth: Use the ARRAY_SIZE() macro.
292       dmusic: Use the ARRAY_SIZE() macro.
293       dswave: Use the ARRAY_SIZE() macro.
294       include: Use the ARRAY_SIZE() macro in debug.h.
295       libs/wine: Use the ARRAY_SIZE() macro.
297 Michał Janiszewski (2):
298       winevulkan: Remove duplicate format_string in make_vulkan.
299       winevulkan: Print all the arguments in make_vulkan.
301 Mingcong Bai (1):
302       po: Update Simplified Chinese translation.
304 Nikolay Sivov (20):
305       comctl32/listview: Skip earlier when creating iterator for empty lists.
306       comctl32/listview: Fix crashing in LVM_GETCOUNTPERPAGE for partially initialize lists.
307       comctl32/listview: Simplify iterator helpers that can't fail.
308       comctl32/tests: Remove remaining traces in ListView tests.
309       d2d1: Return S_OK from RegisterEffectFromString().
310       d2d1: Return S_OK from d2d_effect_SetValue().
311       gdiplus: Implement GdipScalePenTransform().
312       dxgi: Support IID_IDXGIDevice in dxgi_adapter_CheckInterfaceSupport().
313       kernel32/tests: Remove workarounds for SearchPath().
314       kernel32/tests: Add SearchPath() test for file name with multiple extension delimiters.
315       powrprof: Add PowerDeterminePlatformRoleEx() stub.
316       kernel32: Add GetProcessMitigationPolicy() stub.
317       gdiplus: Implement GdipMultiplyPenTransform().
318       d2d1: Implement d2d_device_context_ID2D1DeviceContext_DrawGlyphRun().
319       dxgi: Add IDXGIAdapter4 stub.
320       dxgi: Add partial implementation for dxgi_adapter_GetDesc2() and dxgi_adapter_GetDesc3().
321       ntdll/tests: Add a test for qsort() stability.
322       start: Try cycling through extensions if original path failed to execute.
323       gdiplus: Implement GdipRotatePenTransform().
324       d2d1: Add ID2D1Factory2 stub.
326 Piotr Caban (20):
327       ole32: Don't pass incorrect iface pointer to StdMarshalImpl functions.
328       ole32: Use CLSID_StdMarshal in standard marshaler.
329       ole32: Make standard marshaler responsible for marshaling OBJREF header.
330       ole32: Change returned size in CoGetMarshalSizeMax if object implements IMarshal.
331       ole32/tests: Import uuid.
332       ole32/tests: Add initial CoGetStandardMarshal tests.
333       ole32/tests: Add standard marshaling data tests.
334       ole32/tests: Add StdMarshal custom marshaling test.
335       ole32/tests: Add DfMarshal custom marshaling tests.
336       ole32/tests: Add free threaded marshaler GetUnmarshalClass tests.
337       wbemprox: Support specifying server and namespace in WbemServices functions.
338       wbemprox: Return NULL signature when there are no input parameters.
339       msvcrt: Don't forward _atoi64 to ntdll.
340       msvcrt: Don't forward _wcsupr to ntdll.
341       msvcrt: Don't forward atol to ntdll.
342       msvcrt: Don't forward wcscmp to ntdll.
343       msvcrt: Don't forward wcsrchr to ntdll.
344       msvcrt: Don't forward wcstol to ntdll.
345       msvcrt: Don't forward strcspn to ntdll.
346       msvcrt: Don't forward strpbrk to ntdll.
348 Roger Zoellner (1):
349       xaudio2: Don't return XAudio28 interface for XAudio2[0..7] objects in QueryInterface().
351 Sebastian Lackner (4):
352       ntdll: Add setting FileIoCompletionNotificationInformation implementation.
353       server: Support FILE_SKIP_COMPLETION_PORT_ON_SUCCESS on server-side asyncs.
354       server: Support FILE_SKIP_COMPLETION_PORT_ON_SUCCESS on client-side asyncs.
355       kernel32: Add SetFileCompletionNotificationModes implementation.
357 Stefan Dösinger (8):
358       ddraw/tests: Look for more messages when losing focus.
359       wined3d: Deactivate the device before minimizing the window.
360       wined3d: Avoid accessing the device after minimize in ddraw.
361       ddraw/tests: Test when the device goes bad on focus loss.
362       d3d8/tests: Test when the device goes bad on focus loss.
363       d3d9/tests: Test when the device gets occluded during d3d9ex focus loss.
364       d3d9/tests: Test when the device goes bad on focus loss.
365       ddraw/tests: Test destroying ddraw in WM_KILLFOCUS.
367 Zebediah Figura (8):
368       rpcrt4: Discriminants can't be int3264.
369       rpcrt4: Also clear base-type [out] pointers in client_do_args().
370       oleaut32: Handle VT_(U)I8 in get_type_size().
371       oleaut32/tests: Add some tests for marshalling base types.
372       rpcrt4/tests: Use publicly defined NDR constants.
373       rpcrt4/tests: Test that NdrPointerFree() doesn't free stack pointers.
374       rpcrt4/tests: Add more tests for NdrPointerUnmarshall() and NdrPointerFree() on the server side.
375       rpcrt4: Unmarshal into a stack pointer on the server side if possible.
378 Alexandre Julliard
379 julliard@winehq.org