oleaut32: Fix argument order with instance and VARIANT return type.
[wine.git] / ANNOUNCE
blob6dd9a9838faa484f3fd5810d34649d6476252432
1 The Wine development release 3.20 is now available.
3 What's new in this release (see below for details):
4   - Async interfaces and ACF files in the IDL compiler.
5   - Support for substorage transforms in MSI.
6   - RPC/COM marshalling fixes.
7   - Support for Unicode requests in WinHTTP.
8   - Shell Autocomplete optimizations.
9   - Various bug fixes.
11 The source is available from the following locations:
13   https://dl.winehq.org/wine/source/3.x/wine-3.20.tar.xz
14   http://mirrors.ibiblio.org/wine/source/3.x/wine-3.20.tar.xz
16 Binary packages for various distributions will be available from:
18   https://www.winehq.org/download
20 You will find documentation on https://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check https://www.winehq.org/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 3.20 (total 36):
32    8933  Extremely slow in rendering when running Jane's USAF
33   12370  AGEod's American Civil War cannot run (needs native directmusic)
34   34384  Media Browser 3 Installer doesn't see .Net 4.5 as installed (wine-mono)
35   35320  setlocale(Chinese_China.950) returns NULL
36   38066  Memento Mori (Numen: Contest of Heroes): mouse buttons don't work (needs native dinput8)
37   41269  MSI uninstaller does not clean up Registry's UpgradeCode, ProductCode
38   41356  Multiple applications and games need support for szOID_NIST_sha* OIDs in crypt32 (The Crew (Uplay), Star Wars The Old Republic, PSNow v9.0.5)
39   41419  Visio 2013 crashes with unimplemented function msvcp100.dll.?_GetCombinableSize@details@Concurrency@@YAIXZ
40   42520  Multiple Wargaming.net games crash on startup in Win7+ mode (XAudio 2.7 'IXAudio2SourceVoice::GetState' called with 'Flags' parameter, causing register corruption) (World of {Tanks, Warships})
41   42550  Photoshop CC 2017: Installation Error (needs FileAccessInformation info class)
42   43358  EVE Online crashes on startup in Win7+ mode (XAudio 2.7 'IXAudio2SourceVoice::GetState' called with 'Flags' parameter, causing %ESI or %EDI register corruption)
43   43464  Elite Dangerous Horizons fails to connect to server with CRC error
44   43570  Bravura Easy Computer Sync 1.5 crashes on startup
45   44620  `Nt{WaitFor,Release}KeyedEvent()` don't accept null handles, while Windows 7 does.
46   44759  Steam show all text with italic font when dwrite is enabled
47   45593  Wargaming.net Game Center: Installer deadlocks during download ('ntdll.RtlDeregisterWaitEx' must not synchronously wait when 'CompletionEvent' is NULL)
48   45664  64-bit BattlEye 'BEDaisy' kernel service fails in driver entry point due to missing 'ntoskrnl.exe.PsGetProcessWow64Process'
49   45665  64-bit BattlEye 'BEDaisy' kernel service fails in driver entry point due to missing 'ntoskrnl.exe.MmCopyVirtualMemory'
50   45749  Multiple Node.js based applications/installers need ntdll.NtQueryInformationFile to handle 'FileModeInformation' information class (MS Visual Studio 2017 Installer, FACEIT Anti-cheat client)
51   45796  Nvidia GeForce Now installer aborts due to missing 'advapi32.RegQueryReflectionKey' export
52   45828  Several Microsoft games bundled with Windows 7 as part of OS install crash upon exit on unimplemented function ntdll.dll.WinSqmIncrementDWORD
53   45966  Missing scrollbars in TraCFoil ribs plotting program
54   45970  Add support for browseui IProgressDialog PROGDLG_AUTOTIME flag
55   45997  iPed 7G 2019 (.NET 4.0 app) v13.0.10800 crashes with System.NotImplementedException at system.drawing.pen.ScaleTransform
56   46004  SimSig: scroll bars in Options window do not render
57   46015  Nvidia GeForce NOW crashes on unimplemented function IPHLPAPI.DLL.GetIpInterfaceTable
58   46035  dotnet sdk 2.1.403 installer crashes with unimplemented Kernel32.FindStringOrdinal
59   46040  Intel Extreme Tuning Utility v6.4 kernel driver 'iocbios2.sys' crashes on unimplemented function ntoskrnl.exe.KeSetTargetProcessorDpc
60   46057  Multiple applications want 'ntdll.NtQueryInformationToken' to support 'TokenVirtualizationEnabled' (24) info class (Blizzard Battle.net)
61   46066  GeForceNOW.exe fails to load due to missing runtime dependencies, needs 'qwave.dll' stub dll (qWAVE - Quality Windows Audio/Video Experience)
62   46076  Something goes wrong when sending unicode http request
63   46080  Multiple installers are missing title bar buttons
64   46081  Multiple installers show readonly drives with broken size
65   46084  Skype 8.33.0.50 installer crashes due to unimplemented msvcp140.dll.?_Winerror_map@std@@YAHH@Z
66   46085  Multiple ARM64 apps from Windows 10 SDK (10.0.17763.x) need 'api-ms-win-core-winrt-string-l1-1-1.dll' stub dll
67   46086  Multiple ARM64 apps from Windows 10 SDK (10.0.17763.x) need 'api-ms-win-core-processthreads-l1-1-3' stub dll
69 ----------------------------------------------------------------
71 Changes since 3.19:
73 Akihiro Sagawa (5):
74       windowscodecs/tests: Introduce PNG_COLOR_TYPE constants.
75       windowscodecs: Fix buffer overflow when generating a palette.
76       gdiplus/tests: Add more PNG color format tests.
77       gdiplus: Convert to 32bppARGB when PNG image with transparency chunk is loaded. (rebased).
78       gdiplus: Add 4bppIndexed to the list of supported formats.
80 Alex Henrie (2):
81       version: Simplify null check in VerQueryValueW.
82       advapi32: Fix memory leak in QueryServiceConfig2W (Coverity).
84 Alexander Morozov (1):
85       cryptui: Partially implement CryptUIDlgSelectCertificate.
87 Alexandre Julliard (10):
88       loader: Don't add the AT_UID entries if they don't already exist.
89       explorer: Move the check for the magic root desktop to the X11 driver.
90       server: Add a helper function to allocate a hardware message.
91       user32: Add stub for GetCurrentInputMessageSource().
92       user32: Implement GetCurrentInputMessageSource().
93       user32/tests: Add tests for GetCurrentInputMessageSource().
94       winebuild: Pass the -mfpu option to the compiler/assembler.
95       winegcc: Forward the -mfpu option to winebuild.
96       mscoree/tests: Fix some uninitialized buffers.
97       makefiles: Support file-specific IDL flags.
99 Alistair Leslie-Hughes (3):
100       setupapi: Fix broken control definition.
101       ntdll: Support TokenVirtualizationEnabled in NtQueryInformationToken.
102       mfplat/tests: Use correct interface macro.
104 Andrey Gusev (4):
105       ntdll: Add WinSqmIncrementDWORD stub.
106       api-ms-win-core-winrt-string-l1-1-1: Add dll.
107       api-ms-win-core-processthreads-l1-1-3: Add dll.
108       api-ms-win-ntuser-sysparams-l1-1-0: Add dll.
110 Aurimas Fišeras (1):
111       po: Update Lithuanian translation.
113 Austin English (2):
114       ntoskrnl.exe: Add PsGetProcessWow64Process stub.
115       ntoskrnl.exe: Add MmCopyVirtualMemory stub.
117 Brendan McGrath (2):
118       dinput/tests: Test that the GUID is the same for Instance and Product.
119       dinput: Use the same GUID for Instance and Product.
121 Byeong-Sik Jeon (6):
122       gdi32: Support other settings for obtaining the default_aa_flags value.
123       gdi32: Remove the code that doesn't work as intended around FcFontList().
124       gdi32: Respect the FC_ANTIALIAS setting for the FC_RGBA_NONE case.
125       po: Update Korean translation.
126       po: Update Korean translation.
127       po: Update Korean translation.
129 Dmitry Timoshkov (13):
130       crypt32: Add CryptSetKeyIdentifierProperty stub.
131       crypt32: CryptFreeOIDFunctionAddress should not unload a registered module.
132       crypt32: Directly call I_CryptGetDefaultCryptProv to make hooking from a 3rd party CSP work.
133       crypt32: Add support for 3rd party CSPs to CertGetPublicKeyLength.
134       kernel32/tests: Add more directory change notification tests.
135       include: Add _Inout_updates_opt_z_ stub definition.
136       crypt32/tests: Add more tests for I_CryptGetDefaultCryptProv.
137       crypt32: Add support for a particular ALG_ID to I_CryptGetDefaultCryptProv.
138       crypt32: Look for the provider that supports the specified content OID in CryptMsgOpenToEncode(CMSG_HASHED).
139       server: Don't stop processing change notifications when name length is 0.
140       server: Map FILE_NOTIFY_CHANGE_LAST_ACCESS to IN_MODIFY.
141       server: Allow setting delete disposition on a read-only directory.
142       server: Track separately implicit and explicit file disposition.
144 Fabian Maurer (4):
145       msi: In dialogs show titlebar buttons.
146       mscoree: Add test for registration-less COM components.
147       make_specfiles: Add kernelbase for api-ms-win-core-synch-*.
148       riched20: Properly handle \0 inside rtf input.
150 Gabriel Ivăncescu (11):
151       shell32/autocomplete: Fill and display the auto-suggest listbox in a separate function.
152       shell32/autocomplete: Use a helper function to show the listbox.
153       shell32/autocomplete: Implement a cache and sort the enumerated strings for proper behavior.
154       shell32/autocomplete: Reset the enumerator when losing focus if the edit control is not visible anymore.
155       shell32/autocomplete: Reset the enumerator when the text is empty even when auto-suggest is disabled.
156       shell32/tests: Test the amount of enumerator resets for AutoComplete.
157       shell32/autocomplete: Implement ResetEnumerator.
158       shell32/tests: Add tests for ResetEnumerator.
159       include/shldisp: Add missing AUTOCOMPLETEOPTIONS constants.
160       shell32/autocomplete: Implement ACO_NOPREFIXFILTERING option.
161       shell32/autocomplete: Pass the mouse wheel to the auto-suggest listbox, if visible.
163 Gijs Vermeulen (1):
164       msvcp100: Add Concurrency::_GetCombinableSize stub.
166 Hans Leidekker (21):
167       webservices: Also trace return values in the URL functions.
168       webservices: Try to receive the whole message at once.
169       webservices: Add traces.
170       webservices: Increase the maximum size of the channel writer buffer.
171       webservices: Add support for UTF-8 encoded text in read_message_id.
172       webservices: Implement WsRequestReply.
173       webservices: Don't use MSG_PEEK.
174       msi: Avoid duplicate product codes in FindRelatedProducts.
175       wshom: Split the command line before passing it to ShellExecuteEx.
176       winhttp: Get rid of cookie_t.
177       winhttp: Get rid of domain_t.
178       winhttp: Get rid of task_header_t.
179       winhttp: Get rid of header_t.
180       winhttp: Get rid of send_request_t.
181       winhttp: Simplify build_request_string.
182       winhttp: Properly handle request paths with Unicode characters.
183       webservices: Use the search index to look up the union field, if available.
184       webservices: Fix handling of union fields that match noneEnumValue.
185       msi: Support substorage transforms in MsiDatabaseApplyTransform.
186       rsaenh: Fix a memory leak (Valgrind).
187       winhttp/tests: Avoid an invalid write in asynchronous mode (Valgrind).
189 Henri Verbeet (50):
190       wined3d: Don't bother trying to blit from discarded textures.
191       wined3d: Move the "buffer_object" field from struct wined3d_buffer to struct wined3d_buffer_gl.
192       wined3d: Introduce a separate structure for OpenGL texture information.
193       wined3d: Move the depth renderbuffers from struct wined3d_texture to struct wined3d_texture_gl.
194       wined3d: Move the multisample renderbuffers from struct wined3d_texture to struct wined3d_texture_gl.
195       wined3d: Move the OpenGL textures from struct wined3d_texture to struct wined3d_texture_gl.
196       wined3d: Move the "target" field from struct wined3d_texture to struct wined3d_texture_gl.
197       wined3d: Validate required OpenGL extensions in wined3d_texture_gl_init() instead of wined3d_texture_init().
198       wined3d: Get rid of the "desc" field in struct wined3d_buffer.
199       wined3d: Store resource bind flags in the wined3d_resource structure.
200       wined3d: Pass correct bind flags to texture creation functions.
201       wined3d: Pass correct bind flags to swapchain creation functions.
202       wined3d: Pass bind flags to wined3d_check_device_format().
203       wined3d: Pass bind flags to wined3d_get_format().
204       wined3d: Validate format capabilities against the bind flags instead of the usage flags in resource_init().
205       wined3d: Prefer bind flags over usage flags in wined3d_texture_init().
206       wined3d: Prefer bind flags over usage flags in wined3d_texture_upload_data().
207       wined3d: Prefer bind flags over usage flags in wined3d_texture_prepare_texture().
208       wined3d: Prefer bind flags over usage flags in fbo_blitter_supported().
209       wined3d: Prefer bind flags over usage flags in ffp_blit_supported().
210       wined3d: Prefer bind flags over usage flags in ffp_blitter_clear().
211       wined3d: Prefer bind flags over usage flags in texture2d_load_renderbuffer().
212       wined3d: Prefer bind flags over usage flags in texture2d_load_texture().
213       wined3d: Prefer bind flags over usage flags in texture2d_load_drawable().
214       wined3d: Prefer bind flags over usage flags in texture2d_load_sysmem().
215       wined3d: Prefer bind flags over usage flags in wined3d_device_set_rendertarget_view().
216       d3d8: Prefer bind flags over usage flags in d3d8_device_CopyRects().
217       d3d9: Prefer bind flags over usage flags in d3d9_device_StretchRect().
218       d3d9: Prefer bind flags over usage flags in d3d9_device_ColorFill().
219       wined3d: Get rid of WINED3DUSAGE_RENDERTARGET.
220       wined3d: Get rid of WINED3DUSAGE_DEPTHSTENCIL.
221       wined3d: Get rid of WINED3DUSAGE_TEXTURE.
222       d3d9/tests: Use create_window() in more tests.
223       d3d8/tests: Use create_window() in more tests.
224       d3d8/tests: Port test_lockable_backbuffer() from d3d9.
225       d3d9/tests: Test the pool and usage of surfaces created through CreateOffscreenPlainSurface().
226       ddraw: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE for swapchain textures.
227       wined3d: Do not set WINED3D_TEXTURE_CREATE_GET_DC on the implicit depth/stencil texture.
228       wined3d: Update the swapchain flags on wined3d_device_reset().
229       d3d9: Set WINED3D_SWAPCHAIN_GDI_COMPATIBLE on the swapchain when required.
230       wined3d: Respect WINED3D_SWAPCHAIN_LOCKABLE_BACKBUFFER.
231       d3d9: Only set WINED3D_SWAPCHAIN_GDI_COMPATIBLE on mappable swapchains.
232       d3d9: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE for swapchain textures.
233       d3d9: Translate E_INVALIDARG to D3DERR_INVALIDCALL in d3d9_surface_LockRect().
234       d3d8: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE for swapchain textures.
235       d3d8: Translate E_INVALIDARG to D3DERR_INVALIDCALL in d3d8_surface_LockRect().
236       d3d9: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in texture_init().
237       d3d9: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in cubetexture_init().
238       d3d9: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in d3d9_device_CreateDepthStencilSurface().
239       d3d9: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in d3d9_device_CreateDepthStencilSurfaceEx().
241 Jacek Caban (32):
242       server: Add FileModeInformation implementation.
243       server: Use requested options for device pseudo fd.
244       server: Use a separated object for each opened named pipe device file.
245       kernel32: Wait on pipe handle in ConnectNamedPipe if needed.
246       kernel32: Wait on pipe handle in TransactNamedPipe if needed.
247       ntdll: Correctly return result of blocking NtFlushBuffersFile.
248       ntdll: Use correct size when checking iosb in NtFlushBuffersFile (Coverity).
249       ntdll/tests: Add more I/O blocking and completion tests.
250       server: Introduce is_fd_overlapped() helper.
251       server: Use file mode flags in async_handoff to decide if request is blocking.
252       user32/tests: Add scrollbar subclassing tests.
253       server: Add FILE_SKIP_SET_EVENT_ON_HANDLE support.
254       ntdll: Remove no longer needed event handle from async_irp.
255       ntdll: Update debug trace.
256       widl: Add __int32 type support.
257       widl: Ignore -robust command line option.
258       widl: Check for actual function name when handling call_as attribute.
259       user32: Allow scrollbar control to store scroll info in subclassed window.
260       widl: Create type for async variant of an interface with async_uuid attribute.
261       widl: Support async interfaces in headers generation.
262       widl: Introduce for_each_iface helper and use it in write_procformatstring.
263       widl: Use for_each_iface in process_tfs.
264       widl: Use for_each_iface in get_size_procformatstring.
265       widl: Support async interfaces proxy.
266       widl: Generate async interface table.
267       widl: Make MIDL_DEFINE_GUID more compatible with midl.
268       widl: Add -acf command line option.
269       widl: Preprocess and attempt to parse provided ACF file.
270       widl: Add basic acf parser implementation.
271       widl: Write type string for serialized types.
272       widl: Write serialize function declarations in header.
273       widl: Add support for serialization functions.
275 Julian Rüger (1):
276       po: Update German translation.
278 Józef Kucia (1):
279       d3d11/tests: Add test for SO statistics queries.
281 Kim Malmo (1):
282       po: Update Norwegian translation.
284 Lauri Kenttä (1):
285       po: Update Finnish translation.
287 Louis Lenders (4):
288       advapi32: Add stub for RegQueryReflectionKey.
289       iphlpapi: Add stub for GetIpInterfaceTable.
290       qwave: Add new stub dll.
291       ntoskrnl.exe: Add stub for KeSetTargetProcessorDpc.
293 Lucian Poston (1):
294       dwrite/tests: Add a test for text format with unknown font family name.
296 Michael Stefaniuc (8):
297       winecfg: Use the ARRAY_SIZE() macro.
298       cmd: Use the ARRAY_SIZE() macro.
299       cryptui: Use the ARRAY_SIZE() macro.
300       winegstreamer: Use the ARRAY_SIZE() macro.
301       wineqtdecoder: Use the ARRAY_SIZE() macro.
302       libs/port: Avoid an ARRAY_SIZE-like macro.
303       rsaenh: Use the ARRAY_SIZE() macro and better types.
304       appwiz.cpl: Use the ARRAY_SIZE() macro.
306 Nikolay Sivov (18):
307       d2d1/tests: Test command list resource reference.
308       msvcrt: Implement __strncnt().
309       dwrite: Release file streams when building collections.
310       comctl32/edit: Add missing message macros.
311       comctl32/edit: Handle focused cue text.
312       gdiplus/tests: Add parameter validation test for GdipGetFontCollectionFamilyCount().
313       gdiplus: Return actual code on failed attempt to add a font.
314       gdiplus: Skip failed font family when building system collection.
315       xmllite/writer: Implement WriteDocType().
316       xmllite/writer: Simplify single character writes.
317       dwrite/layout: Set default tab stop width.
318       dwrite: Update line breaking logic with Unicode 11.0.0 changes.
319       comctl32/tests: Fix Listbox test failures on some configurations.
320       user32/tests: Fix Listbox test failures on some configurations.
321       dwrite/tests: Test run bidi level too.
322       wincodecs: Implement CreateBitmapFromSourceRect().
323       wincodecs: Add support for WICBitmapNoCache in CreateBitmapFromSource() for bitmap as a source.
324       winemenubuilder: Fix encoder method argument.
326 Pierre Schweitzer (1):
327       msi: Don't consider read-only drives when enumerating volumes.
329 Piotr Caban (1):
330       msvcp140: Add _Winerror_map implementation.
332 Sebastian Lackner (1):
333       xaudio2: Use assembly wrapper to call OnVoiceProcessingPassStart callback.
335 Sergio Gómez Del Real (1):
336       comctl32: Implement handling of EM_SETCUEBANNER/EM_GETCUEBANNER messages.
338 Stefan Dösinger (1):
339       ntdll: Avoid more race conditions in RtlDeregisterWaitEx.
341 Sven Baars (3):
342       mfplat: Move IMFAttributes interface up to avoid forward declarations.
343       mfplat: Add IMFAttributes interface to IMFByteStream.
344       mfplat: Add MFCreateFile stub.
346 Zebediah Figura (29):
347       oleaut32/tests: Abort earlier if we fail to create a proxy.
348       oleaut32/tests: Add some tests for marshalling pointers.
349       oleaut32: Don't release a NULL interface in VARIANT_UserFree().
350       oleaut32/tests: Add some tests for marshalling interfaces.
351       oleaut32/tests: Add some tests for marshalling BSTRs.
352       oleaut32/tests: Add some more tests for marshalling VARIANTs.
353       rpcrt4: Add comments explaining the arguments to EmbeddedPointerUnmarshall().
354       rpcrt4: Clear allocated memory before marshalling pointers into it (Valgrind).
355       rpcrt4: Clarify local variables in PointerUnmarshall().
356       rpcrt4: Ignore fMustAlloc in PointerUnmarshall().
357       widl: Only mark simple [out] pointers as on-stack if they are [ref] pointers.
358       widl: Fix FC_ALLOCED_ON_STACK for interpreted stubs.
359       rpcrt4/tests: Add some tests for marshalling interface pointers.
360       oleaut32/tests: Add some tests for marshalling safe arrays.
361       oleaut32/tests: Add some more tests for marshalling structs.
362       widl: Correctly handle conformant arrays in clear_output_vars().
363       rpcrt4: Avoid reference leaks when unmarshalling [in, out] pointers.
364       oleaut32/tests: Add some more tests for marshalling arrays.
365       oleaut32/tests: Add some tests for marshalling public typedefs.
366       oleaut32/tests: Add a test for marshalling of floats on x86-64.
367       rpcrt4: Add a stub implementation of CreateProxyFromTypeInfo().
368       rpcrt4: Add a stub implementation of CreateStubFromTypeInfo().
369       rpcrt4: Build the typelib proxy headers.
370       rpcrt4: Build the typelib stub headers.
371       rpcrt4: Write the function header into the procedure format string.
372       rpcrt4: Write parameter signatures into the procedure format string.
373       rpcrt4: Write type format strings for pointers.
374       rpcrt4: Write type format strings for fixed arrays.
375       rpcrt4: Write type format strings for fixed structs.
377 Zhiyi Zhang (6):
378       include: Fix wrong argument attribute for IFileDialog::GetOptions.
379       comctl32/taskdialog: Fix id casting.
380       comctl32/taskdialog: Add support for TDF_ALLOW_DIALOG_CANCELLATION.
381       comctl32/taskdialog: Handle button clicks better.
382       kernel32: Implement FindStringOrdinal.
383       comctl32/pager: Support header notification conversion.
386 Alexandre Julliard
387 julliard@winehq.org