msvcr80/tests: Test _wdupenv_s outcome with missing env var.
[wine.git] / ANNOUNCE
blob9f31e1a58a2cbd139cd4a37eefcb9d1f072f0a9e
1 The Wine development release 8.2 is now available.
3 What's new in this release:
4   - Better debug information in Wow64 mode.
5   - Wow64 thunks in the WPCAP library.
6   - Indeo IV50 codec support.
7   - Monitor names set from EDID data.
8   - Various bug fixes.
10 The source is available at:
12   https://dl.winehq.org/wine/source/8.x/wine-8.2.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 8.2 (total 22):
30  - #48528  The Void crashes with builtin d3dx9_36 (needs D3DXFillCubeTextureTX() to return S_OK)
31  - #51345  Regression: Visual Studio 2005 "package load failure"
32  - #51545  STDOUT lost from a forked program on Cygwin/MSYS2
33  - #53747  SubLab VST3 plugin fails to register (needs Windows.System.Profile.SystemManufacturers.SmbiosInformation)
34  - #53926  New typelib marshaller depends on IID_IDispatch support from target interface
35  - #54103  opengl32:opengl - test_copy_context() crashes on w11pro64_nv
36  - #54150  d3dcompiler_43:hlsl_d3d11 & d3dcompiler_47:hlsl_d3d11 - test_trig() fails on w11pro64_nv
37  - #54234  vbscript fails to compile when colon follows Else in If...Else
38  - #54318  Rich Edit inserts newly composed text at wrong position when system IME composition ends while a selection is active
39  - #54371  loader won't launch from PATH unless named "wine"
40  - #54384  GOG Heroes of Might and Magic IV crashes on launch
41  - #54431  Switching active window (alt+tab or otherwise) away from Final Fantasy XI causes keyboard keys to remain pressed
42  - #54456  vbscript memory leak in For Each with SafeArray as group
43  - #54457  vbscript memory leaks in interp_redim_preserve
44  - #54458  vbscript memory leaks in Global_Split
45  - #54463  Wrong version value is returned from win32_operatingsystem on win10 (regression)
46  - #54465  dbghelp:dbghelp - The 64-bit test_modules() fails on Windows 7
47  - #54477  user32:msg - test_message_conversion()'s broadcast test fails on Windows 7 and 10
48  - #54486  getenv_s returns the wrong value
49  - #54489  VarAbs() does not handle BSTR arguments correctly
50  - #54490  vbscript fails to compile when statement follows ElseIf
51  - #54493  vbscript fails to compile concat when used without space and expression begins with H
53 ----------------------------------------------------------------
55 Changes since 8.1:
57 Alex Henrie (23):
58       msi: Handle memory allocation failure in get_link_file (cppcheck).
59       setupapi: Fix memory leak on realloc failure in RetreiveFileSecurity.
60       combase: Avoid calling RtlInitUnicodeString on a static constant.
61       nsiproxy: Avoid calling RtlInitUnicodeString on a static constant.
62       winhlp32: Fix memory leak on realloc failure in HLPFILE_RtfAddBitmap (cppcheck).
63       ole32: Avoid calling RtlInitUnicodeString on a static constant.
64       httpapi: Avoid calling RtlInitUnicodeString on a static constant.
65       msi: Annotate memory allocation functions with __WINE_(DEALLOC|MALLOC).
66       http: Avoid calling RtlInitUnicodeString on a constant.
67       services: Avoid calling RtlInitUnicodeString on a static constant.
68       winebus: Avoid calling RtlInitUnicodeString on a static constant.
69       mountmgr: Avoid calling RtlInitUnicodeString on a static constant.
70       win32u: Avoid calling RtlInitUnicodeString on a static constant.
71       wineboot: Avoid calling RtlInitUnicodeString on a static constant.
72       ws2_32: Avoid calling RtlInitUnicodeString on a static constant.
73       ntdll: Use RTL_CONSTANT_STRING instead of reimplementing it.
74       ntdll: Avoid calling RtlInit(Ansi|Unicode)String on a static constant.
75       winspool: Remove unnecessary call to RtlInitUnicodeString from add_printer_driver.
76       krnl386: Avoid calling RtlInitUnicodeString on a static constant.
77       wow64: Avoid calling RtlInitUnicodeString on a static constant.
78       kernelbase: Avoid calling RtlInitUnicodeString on a static constant.
79       ntoskrnl: Avoid calling RtlInitUnicodeString on a static constant.
80       winspool: Initialize nt_ppd in add_printer_driver.
82 Alexandre Julliard (25):
83       winedump: Print more information from the PE Load Config directory.
84       winedump: Initial support for dumping PE dynamic relocations.
85       gitlab: Force updating configure.
86       wow64: Move some exception and context functions to syscall.c.
87       wow64: Preserve the CPURESERVED flags across user callbacks.
88       wow64: Call the CPU backend to get/set the current thread context.
89       wow64: Call the thread init entry point in the CPU backend.
90       ntdll: Use the standard unixlib macro for Unix calls.
91       ntdll: Store the unixlib handle at ntdll load time.
92       ntdll: Replace the __wine_dbg_write() syscall by a Unix call.
93       ntdll: Replace the __wine_unix_spawnvp() syscall by a Unix call.
94       ntdll: Replace the wine_server_call() syscall by a Unix call.
95       ntdll: Replace the wine_server_fd_to_handle() syscall by a Unix call.
96       ntdll: Replace the wine_server_handle_to_fd() syscall by a Unix call.
97       winedump: Dump the alternate version of some data directories for hybrid PE dlls.
98       winedump: Dump the metadata of hybrid PE dlls.
99       browseui: Use standard va_list instead of __ms_va_list.
100       comdlg32: Use standard va_list instead of __ms_va_list.
101       cryptui: Use standard va_list instead of __ms_va_list.
102       dxdiagn: Use standard va_list instead of __ms_va_list.
103       oledlg: Use standard va_list instead of __ms_va_list.
104       setupapi: Use standard va_list instead of __ms_va_list.
105       wineusb.sys: Use standard va_list instead of __ms_va_list.
106       ntdll: Consistently initialize x86-64 signal handlers.
107       ntdll: Avoid a misleading indentation warning.
109 Alistair Leslie-Hughes (5):
110       odbccp32: Append DLL path when loading driver.
111       include: Add missing SQL prototype.
112       msdasql: Use SQLDriverConnectW to connect to the ODBC driver.
113       msdasql: Always return affected rows if required.
114       msdasql: Use SQLColAttributesW to fetch statement attributes.
116 André Zwing (1):
117       maintainers: Remove myself as maintainer of wpcap.
119 Aurimas Fišeras (1):
120       po: Update Lithuanian translation.
122 Brendan Shanks (9):
123       kernelbase: Implement QueryInterruptTime.
124       kernelbase: Partially implement QueryInterruptTimePrecise.
125       loader: In macOS preloader, fix an environment variable sometimes being lost.
126       ntdll/tests: Test NtMapViewOfSection with a 64-bit DLL and zero_bits > 31.
127       ntdll: Respect zero_bits/limit when mapping a PE file.
128       include: Add __ASM_LOCAL_LABEL macro.
129       ntdll: Use __ASM_LOCAL_LABEL in syscall dispatchers.
130       server: On macOS, fake debug registers when running under Rosetta.
131       ntdll: Add a WARN when setting debug registers fails under Rosetta.
133 Connor McAdams (13):
134       include: Fully define uiautomationclient interfaces.
135       uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Event GUIDs.
136       include: Define UI Automation pattern provider interfaces.
137       uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Pattern GUIDs.
138       uiautomationcore: Add UiaRaiseStructureChangedEvent stub.
139       uiautomationcore: Add UiaRaiseAsyncContentLoadedEvent stub.
140       uiautomationcore: Add UiaRaiseTextEditTextChangedEvent stub.
141       uiautomationcore: Add UiaRaiseNotificationEvent stub.
142       uiautomationcore: Add UiaRaiseChangesEvent stub.
143       uiautomationcore: Add support for UIA_BoundingRectanglePropertyId.
144       uiautomationcore: Add support for UIA_ValueIsReadOnlyPropertyId.
145       uiautomationcore: Implement get_BoundingRectangle for MSAA providers.
146       uiautomationcore: Add support for UIA_NamePropertyId to MSAA providers.
148 Dmitry Timoshkov (2):
149       rpcrt4: Mark the buffer as invalid in NdrProxyFreeBuffer().
150       rpcrt4: Avoid casting an object to IUnknown.
152 Eric Pouech (40):
153       conhost: Only update font when running with a window.
154       dbghelp: Stop unwinding on potential 64bit frame for i386 cpu.
155       dbghelp: Add tests about modules loading.
156       dbghelp: Allow loading modules for different machines.
157       dbghelp: Filter on machine when searching for Wine system PE modules.
158       winedbg: Handle multi-machine process in command 'info share'.
159       winedbg: Don't expose module whose machine isn't the process' one to gdb.
160       dbghelp: Identify a 32bit multi-arch wow64 debuggee as a live target.
161       winedump: Introduce ability to pass several section names to -j option.
162       winedump: Refactor PDB DBI per-module dump in a dedicated function.
163       winedump: Make use of -j option in PDB dumping.
164       winedump: Dump some more MSF related information.
165       winedump: Load once and store global PDB string table.
166       winedump: Enhance dumping of string tables.
167       winedump: Dump some more bits out of public stream.
168       dbghelp: Fix failing test on Windows 7.
169       include: Add manifest constants for EnumProcessModulesEx.
170       psapi: Let modules test pass on non wow64 compatible platforms.
171       psapi: Add tests for EnumProcessModulesEx().
172       kernelbase: Implement EnumProcessModulesEx.
173       kernelbase: Let GetModuleBaseName succeed on 64bit modules in wow64.
174       kernelbase: Let GetModuleFileNameEx succeed on 64bit modules in wow64.
175       kernelbase: Let GetModuleInformation succeed on 64bit modules in wow64.
176       riched20/tests: Add tests when pasting in plain text mode.
177       riched20: Support SFF_SELECTION when streaming in plain text.
178       riched20/tests: Ensure clipboard has been pasted before testing the result.
179       riched20/tests: Add retry loop around OpenClipboard() to avoid access denial.
180       psapi/tests: Test directory of enumerated loaded modules.
181       dbgeng: Use EnumProcessModulesEx().
182       dbghelp: Use EnumProcessModulesEx().
183       psapi: Add more tests for EnumProcessModules().
184       kernelbase: Re-implement EnumProcessModules on top of EnumProcessModulesEx.
185       dbghelp/tests: Test return value of SymLoadModule.
186       dbghelp/tests: Add tests for 'module' name in EnumLoadedModules() callback.
187       dbghelp: Let EnumerateLoadedModules() expose image names.
188       dbghelp/tests: Add test for loaded modules enumeration.
189       dbghelp/tests: Add some more tests about module handling.
190       dbghelp: Add new module at end of the process' modules list.
191       dbghelp: Unload overlapping modules in SymLoadModule*().
192       ntdll: Implement RtlAddressInSectionTable.
194 François Gouget (22):
195       winetest: Don't use plain strings as format specifiers.
196       winetest: Avoid an infinite loop in vstrfmtmake() when the format is NULL.
197       d3dcompiler/tests: Allow more imprecision in test_trig() for NVIDIA.
198       crypt32/tests: Fix a typo in a comment.
199       dbghelp: Fix a typo in a comment.
200       kernel32/tests: Fix a typo in a comment.
201       spoolss/tests: Fix a typo in a comment.
202       uiautomationcore: Fix a typo in a FIXME() message.
203       winegstreamer: Fix a typo in a comment.
204       winevulkan: Fix a typo in a comment.
205       winex11.drv: Fix a typo in a comment.
206       winevulkan: Add a trailing linefeed to some FIXME() thunk messages.
207       dpnet/tests: Fix the unexpected async handle traces.
208       atl100/tests: Trace GetLastError() when DeleteFile() fails.
209       riched20/tests: Check clipboard content after destroying the editor window.
210       riched20/tests: Add context to the EM_FORMATRANGE tests.
211       winetest: Trace the keyboard layout.
212       user32/tests: Fix the ToAscii(A) test on Hindi + UTF-8.
213       user32/tests: Show ToAscii(A) returns 'a' for multiple keyboard layouts.
214       ntdll/tests: Test the thread pool stack APIs.
215       ntdll: Use the thread pool stack information.
216       ws2_32: Warn that a libnss plugin may be missing if getaddrinfo() returns EBUSY.
218 Gabriel Ivăncescu (1):
219       kernelbase: Fix grouping repeat for number formatting.
221 Giovanni Mascellani (1):
222       wbemprox: Do not call Release() inside wbemprox_cf_CreateInstance().
224 Hans Leidekker (14):
225       ntdll: Initialize PEB version numbers with Windows 10 values.
226       ntdll: Look at CurrentMajor/MinorVersionNumber registry values before CurrentVersion.
227       configure: Check for pcap_init() instead of pcap_create().
228       wpcap: Sync spec file with latest version of libpcap.
229       wpcap: Make Unix call parameters wow64 compatible.
230       wpcap: Fix an off-by-one error in convert_length_to_ipv6_mask().
231       wpcap: Implement pcap_bufsize().
232       wpcap: Implement pcap_dump_close().
233       wpcap: Implement pcap_init().
234       wpcap: Reimplement pcap_loop() on top of pcap_next_ex().
235       wpcap: Enable UTF-8 encoding in libpcap.
236       wpcap: Add wow64 thunks.
237       wpcap: Try to enable 32-bit mmap() support in libpcap.
238       wpcap/tests: Initial tests.
240 Huw D. M. Davies (1):
241       rpcrt4/tests: Remove a failing test.
243 Ivan Chikish (3):
244       winegstreamer: Add missing *out=NULL in unknown_inner_QueryInterface.
245       wmvcore: Add missing *out=NULL in WMReader_QueryInterface.
246       wmvcore/tests: Check out value for NULL in check_interface.
248 Jacek Caban (2):
249       wininet/tests: Add more InternetSetFilePointer tests.
250       oleaut32: Remove overflow check for VT_R4 and VT_R8 in VarAbs.
252 Jason Kuo (2):
253       wininet: Partially implement InternetSetFilePointer.
254       wininet/tests: Add InternetSetFilePointer tests.
256 Jason Millard (8):
257       vbscript: Fix memory leak in Split().
258       vbscript: Fix memory leak in Split().
259       vbscript: Add missing stubs for GetLocale and SetLocale builtins.
260       vbscript: Fix compile when colon follows Else on new line.
261       vbscript: Fix memory leak in owned safearray iterator.
262       oleaut32: Fix VarAbs function for BSTR with positive values.
263       vbscript: Fix compile when statement after ElseIf or after separator.
264       vbscript: Fix compile issue with non hex after concat without space.
266 Jinoh Kang (2):
267       ntdll/tests: Update test_RtlUniform to match Windows Vista or later.
268       ntdll: Fix integer overflow in RtlUniform.
270 Max Figura (5):
271       wined3d: Move the WINED3D_RS_ANTIALIAS stub to wined3d_device_apply_stateblock.
272       wined3d: Move the WINED3D_RS_TEXTUREPERSPECTIVE stub to wined3d_device_apply_stateblock.
273       wined3d: Move the WINED3D_RS_WRAPU stub to wined3d_device_apply_stateblock.
274       wined3d: Move the WINED3D_RS_WRAPV stub to wined3d_device_apply_stateblock.
275       wined3d: Move the WINED3D_RS_MONOENABLE stub to wined3d_device_apply_stateblock.
277 Michael Stefaniuc (3):
278       mshtml/tests: Actually test a return value.
279       d3d11/tests: Actually test the return of CreateRasterizerState().
280       ntdll/tests: Remove some Vista broken broken(<constant>) calls.
282 Mohamad Al-Jaf (9):
283       include: Add realtimeapiset.h file.
284       kernelbase: Partially implement QueryUnbiasedInterruptTimePrecise.
285       include: Add DirectX 12 Agility SDK definitions.
286       d3d12core: Add stub DLL.
287       include: Add windows.ui.viewmanagement.idl file.
288       windows.ui: Add stub DLL.
289       windows.ui: Add IUISettings3 stub interface.
290       windows.ui/tests: Add IUISettings3::GetColorValue() tests.
291       windows.ui: Implement IUISettings3::GetColorValue().
293 Nikolay Sivov (1):
294       apisetschema: Add ext-ms-win-networking-wlanapi-l1-1-0.
296 Paul Gofman (17):
297       winegstreamer: Implement _GetInputStatus() for h264 decoder transform.
298       winegstreamer: Implement _GetInputStatus() for aac decoder transform.
299       winegstreamer: Set MF_SA_D3D11_AWARE attribute for h264 transform.
300       mf/session: Avoid dropping samples delivered from transform in session_request_sample_from_node().
301       bcrypt/tests: Add more tests for AES initialization vectors.
302       bcrypt: Update init vector after encrypt or decrypt.
303       bcrypt: Only reset init vector if the new vector is non-NULL.
304       imm32: Disable cross thread access for ImmSetCompositionString().
305       win32u: Remove monitor name from gdi driver monitor info.
306       win32u: Use monitor ID from EDID when available.
307       win32u: Store EDID info in monitors cache.
308       win32u: Return edidManufactureId and edidProductCodeId from NtUserDisplayConfigGetDeviceInfo().
309       win32u: Get friendly monitor name from EDID in NtUserDisplayConfigGetDeviceInfo().
310       winegstreamer: Route MFAudioFormat_RAW_AAC to mf_media_type_to_wg_format_audio_mpeg4().
311       winegstreamer: Fix getting codec data for raw aac.
312       winegstreamer: Use default 0 for _AAC_PAYLOAD_TYPE if not set.
313       mf/tests: Add basic tests for raw aac decode.
315 Piotr Caban (4):
316       msvcrt: Don't crash on NULL argument in getenv.
317       msvcrt: Don't crash on NULL argument in _wgetenv.
318       msvcrt: Improve error handling in getenv_s.
319       msvcrt: Improve error handling in _wgetenv_s.
321 Rémi Bernon (27):
322       include: Add new kbd.h header with KBDTABLES definition.
323       win32u: Use KBDTABLES for default NtUserGetKeyNameText.
324       include: Add VSC_VK constants definitions to kbd.h.
325       win32u: Use KBDTABLES for NtUserMapVirtualKeyEx VSC / VK mapping.
326       include: Add VK_TO_WCHARS constants definitions to kbd.h.
327       win32u: Use KBDTABLES for NtUserMapVirtualKeyEx MAP_VK_TO_CHAR.
328       win32u: Use KBDTABLES for NtUserVkKeyScanEx.
329       win32u: Use KBDTABLES for NtUserToUnicodeEx.
330       joy.cpl: Process messages while waiting for the input threads.
331       joy.cpl: Refresh the DInput button display on device change.
332       joy.cpl: Improve the DInput button display with many buttons.
333       joy.cpl: Use the DIJOYSTATE2 user data format to support more buttons.
334       winebuild: Use .incbin instead of printf for resource data.
335       dinput: Split dinput_unacquire_window_devices helper.
336       dinput: Name input thread message and wparam values.
337       dinput: Use a WH_CBT hook instead of WH_CALLWNDPROC.
338       dinput: Introduce keyboard_handle_key_event helper.
339       dinput: Avoid entering the hook CS in input_thread_ll_hook_proc.
340       dinput: Merge mouse and rawmouse acquired lists.
341       dinput: Merge all acquired device lists together.
342       dinput: Use rawinput interface for keyboard device.
343       include: Move ddk/imm.h to immdev.h.
344       include: Fix ImeInquire declaration.
345       include: Fix ImeToAsciiEx declaration.
346       include: Add Imm(Get|Set)HotKey declarations.
347       dinput: Forbid acquiring for other process windows.
348       dinput: Hook window threads instead of the entire prefix.
350 Shaun Ren (10):
351       ir50_32: Add stub dll.
352       ir50_32: Implement IV50_GetInfo.
353       ir50_32: Implement IV50_DecompressQuery.
354       ir50_32: Implement IV50_DecompressGetFormat.
355       winegstreamer: Add video_decoder stub.
356       ir50_32: Implement open and close.
357       winegstreamer: Add WG_MAJOR_TYPE_VIDEO_INDEO video type.
358       winegstreamer: Implement basic functionality for video_decoder.
359       ir50_32: Implement decompression.
360       wine.inf: Enable ir50_32 video codec.
362 Zebediah Figura (28):
363       wined3d: Make depth bounds test a proper state and handle it in wined3d_device_apply_stateblock().
364       setupapi/tests: Add tests for FLG_ADDREG_APPEND.
365       setupapi: Fail installation when trying to append to a registry value of the wrong type.
366       setupapi: Create the registry value if it doesn't exist in append_multi_sz_value().
367       wine.inf: Always use FLG_ADDREG_APPEND for SvcHost entries.
368       scardsvr: Add stub service.
369       oleaut32: Manually construct a stub buffer for dispinterfaces.
370       ws2_32: Forbid passing zero buffers to WSARecv().
371       mfreadwrite/tests: Avoid depending on sample size in test_source_reader().
372       mfreadwrite/tests: Test an audio/video file.
373       winegstreamer: Check the absolute value of the height in mf_media_type_from_wg_format_video().
374       winegstreamer: Separate a mf_video_format_to_wg() helper.
375       user32/tests: Add a register_class() helper.
376       user32/tests: Use ok() instead of assert().
377       user32/tests: Avoid leaking a window in test_message_conversion().
378       user32/tests: Test WM_DEVICECHANGE Unicode conversion.
379       user32/tests: Remove BroadcastSystemMessage() test for WM_DEVICECHANGE.
380       user32: Pass BSMINFO in BroadcastSystemMessageExA().
381       ddraw/tests: Remove unnecessary skips and conditionals from test_pixel_format().
382       d3d9/tests: Test that presenting does not set the pixel format on a window without one.
383       d3d8/tests: Test that presenting does not set the pixel format on a window without one.
384       ddraw/tests: Test that presenting does not set the pixel format on a window without one.
385       wined3d: Introduce wined3d_texture_get_swapchain().
386       dxgi: Implement IDXGIResource::GetUsage().
387       d3d11: Expand tests for IDXGIResource.
388       wined3d: Destroy objects belonging to wined3d_context_vk.completed_command_buffer_id.
389       wined3d: Destroy objects belonging to wined3d_device_gl.completed_fence_id.
390       mfsrcsnk: Add missing DllGetClassObject() export.
392 Ziqing Hui (6):
393       mfplat: Fix stride calculation for RGB24.
394       mfplat: Support YVYU, NV11, MEDIASUBTYPE_RGB* media types.
395       winegstreamer: Implement GetOutputType for WMV decoder.
396       winegstreamer: Implement SetOutputType for WMV decoder.
397       mf/tests: Test GetOutputSizeInfo for WMV decoder.
398       winegstreamer: Implement GetOutputSizeInfo for WMV decoder.