crypt32: Use the available ARRAY_SIZE() macro.
[wine.git] / ANNOUNCE
blobbdc0825958b1cfa909b95d5cee90a2782596e255
1 The Wine development release 3.10 is now available.
3 What's new in this release (see below for details):
4   - Swapchain support in Direct 3D 12.
5   - Vulkan support updated to the latest spec.
6   - Debugger support for Wow64 processes.
7   - Still more support for the Task Scheduler.
8   - Various bug fixes.
10 The source is available from the following locations:
12   https://dl.winehq.org/wine/source/3.x/wine-3.10.tar.xz
13   http://mirrors.ibiblio.org/wine/source/3.x/wine-3.10.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.10 (total 17):
31   29586  Tumblebugs 2 demo: insects render black
32   31403  bad exe format for mingw binary that works fine on windows.
33   31533  Copy from Onenote 2010 to linux native or even wine apps fails
34   33364  AMD HD 6650M is recognized as HD 2900XT1
35   34686  Neverwinter Nights 2 (GOG.com) fails on startup, claiming: "Unable to detect a video card with hardware 3D acceleration."
36   35898  64-bit PDF-XChange Viewer 2.5.x crashes when searching in a PDF document
37   36789  Multiple .NET XNA games fail to start, complaining with "Could not find a Direct3D device that supports the XNA Framework HiDef profile" (One Finger Death Punch, Party Of Sin DEMO, Stardew Valley)
38   37275  Chess Position Trainer 5 (.NET 4.0 app) wants gdiplus.GdipCreateAdjustableArrowCap implementation
39   38816  Multiple games require XInput gamepad support (Brothers: A Tale of Two Sons, Broforce, Dead Space, Lego Star Wars Complete Saga)
40   42599  Max Payne 3 (Steam) crashes in DX9 mode
41   43300  wchar.h missing wmemchr, wmemcmp, wmemcpy, wmemmove, and wmemset
42   43509  Internet Explorer 11 installer fails, needs stub 'dism.exe'
43   43606  World of Tanks no longer starts (after launcher) since 2.15
44   44880  64-bit Mod Organizer 2.1.2 dev6-Silarn-prerelease fails to load 'usvfs_x64.dll', needs 'ntdll.RtlDosPathNameToRelativeNtPathName_U_WithStatus'
45   45127  Tomb Raider 2013: mismatched shader interface blocks cause broken rendering
46   45243  Wrong cast in some HANDLE_MSG_WM_* macros produces errors when compiling with wineg++
47   45248  CPU-Z 1.8x kernel driver crashes on unimplemented function ntoskrnl.exe.SeSinglePrivilegeCheck
49 ----------------------------------------------------------------
51 Changes since 3.9:
53 Akihiro Sagawa (3):
54       winmm: Synchronize player status and API calls.
55       winmm: Return a continuous stream position in MIDI stream.
56       winmm: Reset the tick counter after handling messages.
58 Alex Henrie (7):
59       include: Add wmemchr to wchar.h.
60       include: Add wmemcmp to wchar.h.
61       include: Add wmemcpy to wchar.h.
62       include: Add wmemmove to wchar.h.
63       include: Add wmemset to wchar.h.
64       gdi32: Avoid awkward cast in GetGlyphOutlineA (Coverity).
65       gdi32: Fix memory leak on error in PATH_WidenPath (Coverity).
67 Alexandre Julliard (6):
68       msvcrtd: Fix _CrtDbgReport calling convention.
69       makefiles: Don't run tests for disabled dlls.
70       user32: Rename rectClient to client_rect for consistency.
71       user32: Rename rectWindow to window_rect for consistency.
72       user32: Only pass the new valid rectangle to the server.
73       server: Don't convert the surface region to screen coordinates.
75 Alistair Leslie-Hughes (3):
76       include: Add more definitions to wdm.h.
77       wbemdisp/tests: Add ISWbemSecurity tests.
78       include: Updated enum AutomationIdentifierType values.
80 Aurimas Fišeras (1):
81       po: Update Lithuanian translation.
83 Austin English (1):
84       dism: Add stub program.
86 Derek Lesho (1):
87       ntoskrnl: Have MmIsAddressValid use IsBadReadPtr.
89 Dmitry Timoshkov (14):
90       mstask: Implement ITask::GetMostRecentRunTime().
91       schedsvc: Read parameters and current directory from the job file.
92       mstask: Retry with a timeout if opening a job file has failed.
93       schedsvc: Add support for executing tasks.
94       schedsvc: Read triggers when loading a job file.
95       schedsvc: Add support for running tasks at specified time.
96       schedsvc: Add a sanity check when loading a .job file.
97       schedsvc: Load job files at the service start up.
98       schedsvc: Add support for running missed tasks at the service start.
99       mstask: Implement ITask::GetExitCode().
100       mstask: Implement IEnumWorkItems::Next().
101       mstask: Implement IEnumWorkItems::Reset().
102       mstask: Implement IEnumWorkItems::Skip().
103       mstask/tests: Add more tests for IEnumWorkItems interface.
105 Fabian Maurer (5):
106       fc: Add stub program.
107       find: Add stub program.
108       user32: Make RegisterPointerDeviceNotifications return TRUE to fake success.
109       user32: Add stub for GetPointerDevices.
110       user32: Add RegisterTouchHitTestingWindow stub.
112 François Gouget (6):
113       wscript/tests: Fix a typo in the WScript.BuildVersion check.
114       dwrite: Fix typos in a couple of idl parameter names.
115       schedsvc: Add a trailing '\n' to some ERR() messages.
116       shell32: Fix a typo in a comment.
117       wsdapi/tests: Add a trailing '\n' to an ok() call.
118       dxgi: Fix a trailing '\n' in a FIXME() trace.
120 Hans Leidekker (6):
121       msi/tests: Remove duplicate service tests.
122       webservices: Call WSACleanup when the dll is unloaded.
123       webservices/tests: Make test data local if it's only used in one place.
124       webservices: Handle WS_XML_TEXT_TYPE_INT64 in text_to_uint64.
125       webservices: Fix handling of empty text field mappings.
126       winhttp: Store the server certificate context in the request.
128 Hua Meng (1):
129       msvcp120: Add tests for concurrent_vector_Internal_push_back and capacity.
131 Hugh McMaster (2):
132       regedit: Confirm whether to delete a registry value from framewnd.c.
133       regedit: Pass NULL instead of the address of an empty WCHAR.
135 Huw D. M. Davies (2):
136       dplayx: Prevent out-of-bounds access to lpMemArea.
137       dbghelp: Add a missing include to fix the build.
139 Jacek Caban (7):
140       ole32/tests: Fixed tests on win64.
141       mshtml: Use case insensitive comparition in parse_ua_compatible.
142       mshtml: Use proper document mode for document fragment objects.
143       ole32: Don't try to unregister window class if it was never registered.
144       jscript: Use jsdisp_define_data_property in Object.getOwnPropertyDescriptor.
145       wininet: Simplify header string handling in HTTP_HttpSendRequestW.
146       mshtml/tests: Silence noisy traces.
148 Józef Kucia (46):
149       winex11: Introduce GAMMA_RAMP_SIZE.
150       winex11: Interpolate gamma ramp when gamma ramp size is greater than 256.
151       d3d10core/tests: Add test for clearing 1D render target views.
152       wined3d: Fix condition for FIXME() about unsupported depth slices.
153       wined3d: Implement clears for 3D render target views.
154       d3d11/tests: Add test for clearing 3D render target views.
155       d3d11/tests: Check return value of CheckMultisampleQualityLevels() (Coverity).
156       d3d10core/tests: Check return value of CheckMultisampleQualityLevels() (Coverity).
157       dxgi: Rename dxgi_swapchain to d3d11_swapchain.
158       dxgi: Factor out d3d11_swapchain_create() function.
159       dxgi: Add IDXGISwapChain3 interface stub for D3D12.
160       odbccp32: Fix memory leak in SQLGetInstalledDrivers() (Coverity).
161       wined3d: Sort WINED3DSIH enum values.
162       winex11: Get rid of unnecessary assignments.
163       dxgi: Add FIXME() for ignored output parameter in dxgi_factory_CreateSwapChainForHwnd().
164       dxgi: Use DXGI_MAX_SWAP_CHAIN_BUFFERS.
165       dxgi: Forbid multisampling with flip swap effects.
166       dxgi: Introduce ARRAY_SIZE() macro.
167       dxgi/tests: Release IDXGIFactory in test_swapchain_present().
168       dxgi: Create Vulkan swapchains for D3D12.
169       dxgi: Implement d3d12_swapchain_GetBuffer().
170       dxgi: Implement d3d12_swapchain_GetCurrentBackBufferIndex().
171       dxgi: Implement d3d12_swapchain_Present1().
172       dxgi/tests: Handle DXGI_ERROR_NOT_CURRENTLY_AVAILABLE in test_fullscreen_resize_target().
173       dxgi/tests: Use global memory allocation helpers.
174       dxgi/tests: Add test for creating swapchains with multisampling.
175       dxgi/tests: Add option to use selected adapter.
176       winex11: Make get_vulkan_driver() thread-safe.
177       dxgi: Translate VkResults to HRESULTs.
178       dxgi/tests: Add test for IDXGISwapChain3::GetCurrentBackBufferIndex().
179       include/d3d12: Add PFN_D3D12_CREATE_DEVICE.
180       dxgi/tests: Run test_swapchain_backbuffer_index() also on D3D12.
181       d3d12/tests: Add visual test for rendering to swapchain.
182       winevulkan: Introduce WINE_VK_HOST to explicitly request 'host' Vulkan headers.
183       winevulkan: Remove vk.xml from repository.
184       winevulkan: Add copyright headers to files generated from vk.xml.
185       d3d11/tests: Add test for negative viewport coordinates.
186       winevulkan: Correctly recognize commands belonging to multiple extensions.
187       winevulkan: Remove unused variable from make_vulkan script.
188       wined3d: Execute all CS commands before changing swapchain window.
189       wined3d: Remove hardware level detection hacks.
190       d3d12/tests: Add option to use selected adapter.
191       d3d12/tests: Print adapter info.
192       d3d12/tests: Add option to run tests with validation layers.
193       d3d12/tests: Fix resource state transitions in test_swapchain_draw().
194       wined3d: Disallow disabling GLSL on core profile contexts.
196 Kim Geonwoo (김건우) (1):
197       po: Update Korean translation.
199 Kim Malmo (1):
200       po: Update Norwegian translation.
202 Lauri Kenttä (1):
203       po: Update Finnish translation.
205 Louis Lenders (1):
206       user32: Add stub for RegisterPointerDeviceNotifications.
208 Lucian Poston (1):
209       include: Add ID2D1DeviceContext definition.
211 Matteo Bruni (6):
212       wined3d: Slightly improve formatting of generated GLSL shader interfaces.
213       dxgi: Get rid of DXGI_FRAME_LATENCY_DEFAULT.
214       wined3d: Initialize glMinSampleShading() function pointer.
215       wined3d: Compare interpolation mode VS compilation arguments.
216       d3d9/tests: Test how state is reset after DrawPrimitive[Indexed]UP().
217       d3d9: Get rid of an unnecessary wined3d_device_set_base_vertex_index() call.
219 Michael Müller (1):
220       wbemdisp: Add ISWbemSecurity stub interface.
222 Michael Stefaniuc (91):
223       advapi32/tests: Use the available ARRAY_SIZE() macro.
224       crypt32/tests: Use the available ARRAY_SIZE() macro.
225       bcrypt/tests: Use the available ARRAY_SIZE() macro.
226       dnsapi/tests: Use the available ARRAY_SIZE() macro.
227       dpvoice/tests: Use the available ARRAY_SIZE() macro.
228       wmp/tests: Use the available ARRAY_SIZE() macro.
229       cmd/tests: Use the available ARRAY_SIZE() macro.
230       wscript/tests: Use the available ARRAY_SIZE() macro.
231       dplayx/tests: Use the available ARRAY_SIZE() macro.
232       winspool.drv/tests: Use the available ARRAY_SIZE() macro.
233       wmiutils/tests: Use the available ARRAY_SIZE() macro.
234       d3d10/tests: Use the available ARRAY_SIZE() macro.
235       d3drm/tests: Use the available ARRAY_SIZE() macro.
236       dxdiagn/tests: Use the available ARRAY_SIZE() macro.
237       evr/tests: Use the available ARRAY_SIZE() macro.
238       gameux/tests: Use the available ARRAY_SIZE() macro.
239       mlang/tests: Use the available ARRAY_SIZE() macro.
240       wintrust/tests: Use the available ARRAY_SIZE() macro.
241       xinput/tests: Use the available ARRAY_SIZE() macro.
242       wer/tests: Use the available ARRAY_SIZE() macro.
243       d3d10_1/tests: Use the available ARRAY_SIZE() macro.
244       version/tests: Use the available ARRAY_SIZE() macro.
245       uxtheme/tests: Use the available ARRAY_SIZE() macro.
246       userenv/tests: Use the available ARRAY_SIZE() macro.
247       ucrtbase/tests: Use the available ARRAY_SIZE() macro.
248       twain_32/tests: Use the available ARRAY_SIZE() macro.
249       taskschd/tests: Use the available ARRAY_SIZE() macro.
250       sxs/tests: Use the available ARRAY_SIZE() macro.
251       snmpapi/tests: Use the available ARRAY_SIZE() macro.
252       serialui/tests: Use the available ARRAY_SIZE() macro.
253       secure32/tests: Use the available ARRAY_SIZE() macro.
254       scrrun/tests: Use the available ARRAY_SIZE() macro.
255       schedsvc/tests: Use the available ARRAY_SIZE() macro.
256       rsaenh/tests: Use the available ARRAY_SIZE() macro.
257       d3dx10/tests: Use the available ARRAY_SIZE() macro.
258       xaudio2/tests: Use the available ARRAY_SIZE() macro.
259       wbemprox/tests: Use the available ARRAY_SIZE() macro.
260       wbemdisp/tests: Use the available ARRAY_SIZE() macro.
261       hlink/tests: Use the available ARRAY_SIZE() macro.
262       oledb32/tests: Use the available ARRAY_SIZE() macro.
263       oledlg/tests: Use the available ARRAY_SIZE() macro.
264       opengl32/tests: Use the available ARRAY_SIZE() macro.
265       packager/tests: Use the available ARRAY_SIZE() macro.
266       pdh/tests: Use the available ARRAY_SIZE() macro.
267       propsys/tests: Use the available ARRAY_SIZE() macro.
268       localui/tests: Use the available ARRAY_SIZE() macro.
269       mapi32/tests: Use the available ARRAY_SIZE() macro.
270       mmdevapi/tests: Remove an ARRAY_SIZE()-like macro.
271       mpr/tests: Use the available ARRAY_SIZE() macro.
272       msctf/tests: Use the available ARRAY_SIZE() macro.
273       shdocvw/tests: Use the available ARRAY_SIZE() macro.
274       d3dx9/tests: Use the available ARRAY_SIZE() macro.
275       d3dx9/tests: Use ARRAY_SIZE() in the initialization of registerset_data[].
276       inetcomm/tests: Use the available ARRAY_SIZE() macro.
277       inetmib1/tests: Use the available ARRAY_SIZE() macro.
278       imagehlp/tests: Use the available ARRAY_SIZE() macro.
279       iphlpapi/tests: Use the available ARRAY_SIZE() macro.
280       itss/tests: Use the available ARRAY_SIZE() macro.
281       kernelbase/tests: Use the available ARRAY_SIZE() macro.
282       msrle32/tests: Use the available ARRAY_SIZE() macro.
283       ntdsapi/tests: Use the available ARRAY_SIZE() macro.
284       credui/tests: Use the available ARRAY_SIZE() macro.
285       msvfw32/tests: Use the available ARRAY_SIZE() macro.
286       netapi32/tests: Use the available ARRAY_SIZE() macro.
287       jscript/tests: Use the available ARRAY_SIZE() macro.
288       imm32/tests: Use the available ARRAY_SIZE() macro.
289       d3d8/tests: Use the available ARRAY_SIZE() macro.
290       comctl32/tests: Use the available ARRAY_SIZE() macro.
291       kernel32/tests: Correct the buffer size passed to FormatMessageW().
292       kernel32/tests: Use the available ARRAY_SIZE() macro.
293       advpack/tests: Use the available ARRAY_SIZE() macro.
294       d3dcompiler/tests: Use the available ARRAY_SIZE() macro.
295       gdiplus/tests: Use the available ARRAY_SIZE() macro.
296       dinput8/tests: Use the available ARRAY_SIZE() macro.
297       dinput/tests: Use the available ARRAY_SIZE() macro.
298       webservices/tests: Use the available ARRAY_SIZE() macro.
299       rpcrt4/tests: Use the available ARRAY_SIZE() macro.
300       quartz/tests: Use the available ARRAY_SIZE() macro.
301       psapi/tests: Use the available ARRAY_SIZE() macro.
302       oleacc/tests: Use the available ARRAY_SIZE() macro.
303       ntprint/tests: Use the available ARRAY_SIZE() macro.
304       msvcirt/tests: Use the available ARRAY_SIZE() macro.
305       msvcp60/tests: Use the available ARRAY_SIZE() macro.
306       msvcp90/tests: Use the available ARRAY_SIZE() macro.
307       msvcp120/tests: Use the available ARRAY_SIZE() macro.
308       msvcp140/tests: Use the available ARRAY_SIZE() macro.
309       msvcr90/tests: Use the available ARRAY_SIZE() macro.
310       msvcr110/tests: Use the available ARRAY_SIZE() macro.
311       msvcr120/tests: Use the available ARRAY_SIZE() macro.
312       ieframe/tests: Use the available ARRAY_SIZE() macro.
313       mshtml/tests: Use the available ARRAY_SIZE() macro.
315 Nikolay Sivov (1):
316       server: Use additional atom to keep base class name.
318 Owen Rudge (2):
319       wsdapi/tests: Ensure probe message is given unique GUID.
320       wsdapi/tests: Expand ProbeHandler tests.
322 Pablo Martin (6):
323       wined3d: Expose wined3d_shader_type enum and wined3d_device_*_constant_buffer methods.
324       d3d11: Make d3d11 *SetConstantBuffers use a helper method.
325       d3d11: Make d3d11 *GetConstantBuffers use a helper method.
326       d3d11: Make d3d10 *SetConstantBuffers use a helper method.
327       d3d11: Make d3d10 *GetConstantBuffers use a helper method.
328       wined3d: Delete the wined3d_device_get_*_cb and wined3d_device_set_*_cb methods.
330 Piotr Caban (1):
331       msvcp120: Fix _Getcvt tests when zh_CN system locale is used.
333 Roderick Colenbrander (4):
334       winevulkan: Fix parsing of const function pointer members.
335       winevulkan: Parse forward declared struct members.
336       winevulkan: Parse extension require sections one by one.
337       winevulkan: Update vk.xml to 1.1.76.
339 Stefan Leichter (2):
340       ntdll: Partly implement RtlDosPathNameToRelativeNtPathName_U_WithStatus.
341       ntdll: Implement RtlReleaseRelativeName.
343 Thomas Faber (2):
344       jscript: Fix MSVC build.
345       ole32/tests: Store GUIDs by reference.
347 Zebediah Figura (50):
348       msi/tests: Test deferral of RegisterClassInfo and UnregisterClassInfo.
349       msi/tests: Test deferral of RegisterExtensionInfo and UnregisterExtensionInfo.
350       msi/tests: Test deferral of RegisterFonts and UnregisterFonts.
351       msi/tests: Test deferral of RegisterMimeInfo and UnregisterMimeInfo.
352       msi/tests: Simplify key access flags in test_register_product().
353       msi/tests: Test deferral of RegisterProduct.
354       msi/tests: Test deferral of RegisterProgIdInfo and UnregisterProgIdInfo.
355       msi/tests: Test deferral of RegisterUser.
356       widl: Try to import typedefs instead of redefining them.
357       widl: Properly implement syntax 2 dispinterfaces.
358       widl: Don't remove the FDUAL flag from non-dispatchable interfaces.
359       widl: Prefer types defined in the same typelib to imported types.
360       msi/tests: Test registration of a valid typelib.
361       msi/tests: Test deferral of RegisterTypeLibraries and UnregisterTypeLibraries.
362       msi/tests: Test self-registration of a valid DLL.
363       msi/tests: Test deferral of SelfRegModules and SelfUnregModules.
364       kernel32: Allow EnumProcessModules() to succeed on a WoW64 process.
365       kernel32: Allow GetModuleBaseName() to succeed on a WoW64 process.
366       kernel32: Allow GetModuleFileNameEx() to succeed on a WoW64 process.
367       kernel32: Allow GetModuleInformation() to succeed on a WoW64 process.
368       msi/tests: Simplify and combine environment variable tests.
369       msi/tests: Test deferral of WriteEnvironmentStrings and RemoveEnvironmentStrings.
370       msi/tests: Add a simple test for WriteIniValues.
371       msi/tests: Test deferral of WriteIniValues and RemoveIniValues.
372       dbghelp: Add a helper to check if a given module is the Wine loader.
373       dbghelp: Determine the wine loader name from the target process's architecture.
374       dbghelp: Correctly determine the wine loader base address.
375       dbghelp: Don't enforce child architecture in elf_map_file().
376       dbghelp: Detect ELF architecture before reading the whole header.
377       dbghelp: Translate the 32-bit ELF header to the 64-bit one.
378       dbghelp: Translate the 32-bit ELF section header to the 64-bit one.
379       msvcrt: Avoid using inline assembly in __ExceptionPtrDestroy().
380       msvcrt: Avoid using inline assembly in __ExceptionPtrCopyException() and copy_exception().
381       dbghelp: Read the ELF program header corresponding to the target's architecture.
382       dbghelp: Read the Elf_Dyn struct corresponding to the target's architecture.
383       dbghelp: Read the Elf_auxv_t struct corresponding to the target's architecture.
384       dbghelp: Translate the 32-bit ELF symbol struct to the 64-bit one.
385       dbghelp: Read the r_debug and link_map structs corresponding to the target's architecture.
386       stdole2.idl: Use more accurate sizes for Automation types.
387       widl: Generate correct size and alignment for all types.
388       msi: Only delete empty registry keys in delete_key().
389       msi/tests: Simplify and clarify WriteRegistryValues and RemoveRegistryValues tests.
390       msi/tests: Test deferral of WriteRegistryValues.
391       msi/tests: Test that some actions cause resolution of SourceDir.
392       msi: Resolve source when executing InstallFiles.
393       msi: Store the current script in the package.
394       include: Add some WOW64 definitions.
395       msvcrt: Avoid using inline assembly in continue_after_catch().
396       msvcrt: Avoid using inline assembly in call_finally_block().
397       msvcrt: Avoid using inline assembly in call_filter().
399 Zhiyi Zhang (2):
400       user32: Return 1 in DrawTextEx() when calculated offset is 0.
401       user32: Respect margins more in DrawTextExW().
404 Alexandre Julliard
405 julliard@winehq.org