ntdll: Fix size comparison in NtQuerySystemInformation(SystemCodeIntegrityInformation).
[wine.git] / ANNOUNCE
blob31131c68f9ad66581383978de076f9d4d5c1a360
1 The Wine development release 6.19 is now available.
3 What's new in this release (see below for details):
4   - IPHlpApi, NsiProxy, WineDbg and a few other modules converted to PE.
5   - More HID joystick work.
6   - Kernel parts of GDI moved to Win32u.
7   - More work towards Dwarf 3/4 debug support.
8   - Various bug fixes.
10 The source is available from the following locations:
12   https://dl.winehq.org/wine/source/6.x/wine-6.19.tar.xz
13   http://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.19 (total 22):
31   30760  Open Metronome (WAV version) crashes on exit
32   32252  Corel Painter 12 EULA next button greyed out no matter what
33   37167  IEC 61850 v2.02 example client expects 'wine_pcap_findalldevs_ex' to return adapter names in '<protocol>://\Device\NPF_<adaptername>' format
34   37208  FreeOrion hangs when starting a quick game
35   44336  PureBasic x64 IDE crashes when launching online help ("F1" key)
36   47334  TP-Link PLC utility 2.2 crashes on startup with native 'packet.dll' (part of WinPcap)('wine_pcap_findalldevs' needs to handle empty adapter description)
37   47505  Levelhead: Fatal error when attempting to access the game's servers when logged in
38   49344  Implement kernelbase.GetModuleFileNameW using ntdll.LdrGetDllFullName
39   49433  MikuMikuMoving v1275 hangs on startup
40   50857  Darksiders Warmastered Edition crashes before starting an intro
41   51199  Mass Effect Legendary missing api-ms-win-core-psapi-l1-1-0 and api-ms-win-core-psapi-ansi-l1-1-0 function forwards
42   51504  Multiple games crash before gameplay starts/entering main menu (Control Ultimate Edition, A Plague Tale: Innocence)
43   51774  quartz:mpegsplit triggers an assertion in winegstreamer's src_seek_data()
44   51778  ws2_32:sock crashes due to a double free
45   51789  Fatal crash in gdi32 during initialization
46   51818  Reporting packet length is always 0
47   51822  Simucube 2 TrueDrive: Doesn't recognize the steering wheel device
48   51824  TrueDrive, SimHub, Fanaleds,etc.: Non smooth movement tracking with severe skipping/jumping of the steering wheel/controller axis
49   51828  Simucube 2: All applications using raw HID access to communicate with devices, stopped tracking steering axis movement
50   51831  TrueDrive: On start shows an alert that the steering wheel is turned around too close to the bump stops, while the wheel is actually aligned on top center
51   51837  Thronebreaker: The Witcher Tales fails to play intro videos
52   51838  No splash window while creating prefix
54 ----------------------------------------------------------------
56 Changes since 6.18:
58 Alex Henrie (5):
59       ws2_32: Remove outer preprocessor checks from control message functions.
60       ws2_32/tests: Use %u and %Iu in test_ipv6_cmsg instead of casting.
61       ws2_32/tests: Add tests for IPv4 control messages.
62       ws2_32: Hook up IP_RECVTTL.
63       ws2_32: Hook up IP_RECVTOS.
65 Alexandre Julliard (56):
66       ntdll: Return a cleaner Unix path for z: drive in wine_nt_to_unix_file_name().
67       ntdll: Add a __wine_unix_spawnvp syscall.
68       winevdm: Build with msvcrt.
69       winebrowser: Build with msvcrt.
70       tools: Add a shared header for common helper functions.
71       tools: Add helper functions to spawn a command from an strarray.
72       tools: Add a helper function to create temp files.
73       tools: Add a few helper functions for file names and extensions.
74       winedump: Use the shared tools functions.
75       widl: Use a string array for the filenames list.
76       winemenubuilder: Abort on memory allocation failures.
77       winemenubuilder: Use PathMatchSpec() instead of fnmatch().
78       winemenubuilder: Store the paths of .lnk files as DOS paths.
79       winemenubuilder: Launch .lnk files directly through the Wine loader.
80       winemenubuilder: Use Unicode strings to process association entries.
81       winemenubuilder: Use Unicode strings to write desktop entries.
82       winemenubuilder: Use DOS path names to create desktop and menu files.
83       winemenubuilder: Use DOS path names to create icon files.
84       winemenubuilder: Use DOS path names to create associations.
85       winemenubuilder: Build with msvcrt.
86       winemenubuilder: Use wide character string literals.
87       winedbg: Use winsock for the gdb socket.
88       winedbg: Avoid using 'long' types.
89       winedbg: Avoid using the 'long double' type.
90       winedbg: Build with msvcrt.
91       configure: Remove no longer needed poll() checks.
92       tools: Implement a replacement for getopt_long().
93       widl: Avoid using getopt_long().
94       wmc: Avoid using getopt_long().
95       wrc: Avoid using getopt_long().
96       winebuild: Avoid using getopt_long().
97       sfnt2fon: Avoid using getopt_long().
98       make_xftmpl: Avoid using getopt().
99       server: Avoid using getopt_long().
100       server: Avoid mkstemps().
101       libport: Remove the getopt_long() implementation.
102       libport: Remove the mkstemps() implementation.
103       libport: Remove the _spawnvp() implementation.
104       configure: Disable building mountmgr.sys on Windows for now.
105       tools: Move some portability defines out of port.h.
106       libport: Remove the obsolete O_LARGEFILE define.
107       libport: Remove the lstat() implementation.
108       libport: Remove the readlink() implementation.
109       libport: Remove the symlink() implementation.
110       makefiles: Remove libwine_port.
111       makefiles: Use the STATICLIB variable for static import libraries.
112       bcrypt: Remove some no longer needed Unix backend functions.
113       bcrypt: Add a helper macros to load GnuTLS optional functions.
114       bcrypt: Move public key allocation to the PE side.
115       bcrypt: Convert the Unix library to the __wine_unix_call() interface.
116       ntdll: Move some exception definitions to winternl.h.
117       configure: Remove some no longer needed configure checks.
118       tools: Avoid using wine/port.h.
119       server: Avoid using wine/port.h.
120       configure: Use CROSSLDFLAGS as flags for cross-compiler tests.
121       makefiles: Only build static libraries that are needed for linking.
123 Alistair Leslie-Hughes (4):
124       include: Add SPSTREAMFORMAT enum values.
125       wininet: Reset context length for http status 304.
126       include: Add more sapi interfaces.
127       wininet: Allow up to 4K for response headers.
129 Arkadiusz Hiler (1):
130       hidclass.sys: Don't send WM_INPUT_DEVICE_CHANGE for WINEXINPUT devices.
132 Aurimas Fišeras (1):
133       po: Update Lithuanian translation.
135 Brendan Shanks (1):
136       api-ms-win-core-realtime-l1-1-1: Add stub DLL.
138 Charles Davis (4):
139       winegcc: Only add -static-libgcc if -nodefaultlibs weren't given. (Clang).
140       crypt32: Use the SecItemExport() function.
141       secur32: Use the SecItemExport() function.
142       configure: Stop checking for SSLCopyPeerCertificates().
144 Connor McAdams (18):
145       include: Define EVENT_OBJECT_INVOKED.
146       user32/tests: Add missing winevents to test_menu_messages() message sequences.
147       user32/tests: Fix existing winevents in test_defwinproc() message sequences.
148       user32/tests: Add missing winevents to test_defwinproc() message sequences.
149       user32/tests: Add message to fix occasional failure in test_dialog_messages().
150       oleacc: Add get_accRole implementation for edit client accessible object.
151       oleacc: Add get_accState function for edit client accessible object.
152       oleacc: Add get_accName function for edit client accessible object.
153       oleacc: Add get_accKeyboardShortcut function for edit client accessible object.
154       oleacc: Add get_accValue function for edit client accessible object.
155       oleacc: Add put_accValue function for edit client accessible object.
156       oleacc/tests: Add tests for default edit accessible object.
157       user32/tests: Store thread ID of thread we're watching for winevents.
158       user32/tests: Add missing winevents to test_layered_window() message sequences.
159       user32/tests: Add missing winevents to test_TrackPopupMenu() message sequences.
160       user32/tests: Add missing winevents to test_TrackPopupMenuEmpty() message sequences.
161       user32/tests: Add missing winevents to test_DoubleSetCapture() message sequences.
162       user32/tests: Fix dump_sequence winevent_hook_todo handling.
164 Daniel Lehman (1):
165       ntoskrnl.exe: Fix use-after-free when freeing IRP.
167 Dmitry Timoshkov (1):
168       vcruntime140_1: Fix compilation with clang.
170 Eric Pouech (33):
171       dbghelp/dwarf: Fix a couple of parent/child mismatch.
172       dbghelp/dwarf: Add support for partial compilation units.
173       dbghelp/dwarf: Add support for DW_TAG_imported_unit.
174       dbghelp/dwarf: Pass cuhead to loc_compute_frame.
175       dbghelp/dwarf: Split dwarf2_virtual_unwind into two functions.
176       dbghelp/dwarf: Added support for OP_call_frame_cfa.
177       dbghelp/dwarf: Silence a couple of dwarf DIE's tag in load_one_debug_entry.
178       dbghelp/dwarf: Downgrade FIXME into WARN for empty range.
179       dbghelp/dwarf: Add support for local variables with constant values.
180       dbghelp/dwarf: Fix incorrect WARN.
181       dbghelp/dwarf: Bump max supported version (by default) up to 4.
182       include/cvconst.h: Add enumeration for newest SymTag values.
183       d3dx9: Fix use of D3DXVec2Normalize().
184       d3dx9/tests: Fix use of D3DXVec2Normalize().
185       dbghelp: Don't expose SymTagExe or SymTagCompiland's address nor length in SymGetTypeInfo().
186       dbghelp: Expose compiland's children in SymGetTypeInfo().
187       dbghelp: Manage parent/child relationship between SymTagExe and SymTagCompiland.
188       dbghelp: Silence FIXME when requesting SymTagExe lexical parent in SymGetTypeInfo().
189       dbghelp: Expose SymTagBlock's children in SymGetTypeInfo().
190       dbghelp: Expose SymTagBlock's address and size in SymGetTypeInfo().
191       dbghelp: Update SymGetTypeInfo() requests and SymTagEnum to latest dbghelp definitions.
192       dbghelp: SymTagFunctionArgType's lexical parent is module, not SymTagFunctionType.
193       dbghelp: Expose no children in SymGetTypeInfo() for some SymTags.
194       dbghelp: Silence FIXMEs in SymGetTypeInfo().
195       dbghelp: Return error when requesting SymTagLabel's size in SymGetTypeInfo().
196       dbghelp: Return SymTagExe when requesting lexical parent of types in SymGetTypeInfo().
197       dbghelp: Return lexical parent of SymTag(FuncDebugStart|FuncDebugEnd|Label) in SymGetTypeInfo().
198       dbghelp: Return SymTagExe when requesting lexical parent of SymTagPublicSymbol in SymGetTypeInfo().
199       dbghelp: Report once FIXME of unsupported requests in SymGetTypeInfo().
200       dbghelp/dwarf: Correctly compute address of label.
201       dbghelp: MapDebugInformation and UnmapDebugInformation are not available on 64 bit architectures.
202       dbghelp: Handle address of labels not included in functions.
203       dbghelp: Added support for custom symbols.
205 Floris Renaud (1):
206       po: Update Dutch translation.
208 Gabriel Ivăncescu (20):
209       mshtml: Adjust the IWineHTMLWindowPrivate ids.
210       mshtml: Implement proper value for WineDOMTokenList.
211       mshtml: Expose toString() for WineDOMTokenList.
212       mshtml: Implement HTMLAreaElement's href prop.
213       mshtml: Implement HTMLStyleSheet's addRule.
214       gdi32: Create the registry keys recursively, if needed.
215       mshtml: Add names for each object and use it in the Navigator.
216       mshtml: Use dispex_to_string when retrieving the value of an object.
217       mshtml: Use proper compat mode for HTMLDOMAttribute.
218       mshtml: Cap the compat mode for filters collection to IE8 mode.
219       mshtml: Implement HTMLElement's toString.
220       mshtml/tests: Add more tests for builtin objects' toString and names.
221       mshtml: Implement HTMLWindow's toString properly.
222       mshtml: Implement HTMLElementCollection's toString.
223       mshtml: Implement HTMLStyle's toString.
224       mshtml: Implement HTMLDOMTextNode's toString.
225       mshtml: Expose window.performance in all modes.
226       mshtml: Implement HTMLPerformance's toString.
227       mshtml: Implement HTMLPerformanceNavigation's toString.
228       mshtml: Implement HTMLPerformanceTiming's toString.
230 Georg Lehmann (2):
231       winevulkan: Support aliased constants.
232       winevulkan: Update to VK spec version 1.2.195.
234 Gerald Pfeifer (1):
235       winebus.sys: Fix non-Linux builds.
237 Gijs Vermeulen (2):
238       bcrypt: Remove macOS backend.
239       secur32: Remove macOS backend.
241 Giovanni Mascellani (3):
242       winegstreamer/media_source: Emit absolute presentation timestamp.
243       winegstreamer/media_source: Only seek if it was requested by the caller.
244       winegstreamer/media_source: Implement paused state.
246 Hans Leidekker (5):
247       secur32: Store LSA package and handle in the credential/context handle's dwLower field.
248       secur32: Don't allocate new handles in the wrapper.
249       wpcap: Wrap native handles in a structure.
250       wpcap: Convert pcap_pkthdr structures.
251       wpcap: Map Unix interfaces to Windows adapters.
253 Huw D. M. Davies (26):
254       secur32: Restore the done label.
255       nsiproxy: Use a pthread_mutex to guard the interface list.
256       nsiproxy: Use an ascii version of str(n)casecmp() instead of _strnicmp().
257       nsiproxy: Switch memory allocations to malloc().
258       nsiproxy: Build with msvcrt.
259       nsiproxy: Rename private unixlib header to unix_private.h.
260       nsiproxy: Let the general dispatch function update the irp's status.
261       nsiproxy: Introduce IOCTL_NSIPROXY_WINE_ICMP_ECHO.
262       nsiproxy: Actually send the ICMP ECHO request.
263       nsiproxy: Introduce a unix-side handle returned by icmp_send_echo().
264       nsiproxy: Pass the listen request off to a separate thread.
265       nsiproxy: Wait for an icmp reply.
266       nsiproxy: Parse any received ICMP_ECHO_REPLY.
267       nsiproxy: Add support for parsing other icmp packets.
268       nsiproxy: Implement the ability to cancel the listener.
269       winebus.sys: Convert the product strings to Unicode on the Unix-side.
270       iphlpapi: Stop using USE_WS_PREFIX.
271       iphlpapi: Implement IcmpParseReplies().
272       iphlpapi: Move the Icmp6 stubs to iphlpapi_main.c.
273       iphlpapi: Implement IcmpSendEcho2Ex() using nsiproxy.
274       iphlpapi: Build with msvcrt.
275       iphlpapi: Build with nameless structs and unions.
276       iphlpapi: Use wide character string literals.
277       cryptnet/tests: Explicitly set cbSize before each test.
278       configure: No longer disable iphlpapi in a Windows build.
279       ntdll: Return a failure if the unix call funcs don't exist.
281 Ivo Ivanov (4):
282       hidparse.sys: Preserve the original report_count in parse_new_value_caps.
283       hidclass.sys: Use the report length when copying report data.
284       winebus.sys: Fix memory leaks in bus_event_queue functions.
285       winebus.sys: Fix incorrect length when parsing uevent "HID_NAME=".
287 Jacek Caban (48):
288       gdi32: Directly use ntdll in update_font_system_link_info.
289       gdi32: Directly use ntdll in update_codepage.
290       gdi32: Directly use ntdll in init_font_options.
291       gdi32: Directly use ntdll in get_associated_charset_info.
292       gdi32: Directly use ntdll in load_system_bitmap_fonts and load_file_system_fonts.
293       gdi32: Directly use ntdll in update_external_font_keys.
294       gdi32: Directly use ntdll in load_registry_fonts.
295       gdi32: Read screen DPI config in init_font_options.
296       gdi32: Move __wine_get_wgl_driver to driver.c.
297       gdi32: Fix NT prefix handling in update_external_font_keys.
298       user32: Always initialize graphics_driver in load_desktop_driver.
299       gdi32: Don't use wide string literals ntgdi functions.
300       gdi32: Get codepages and OS version directly from PEB.
301       gdi32: Remove unused argument from CreateDC driver entry point.
302       gdi32: Use NtGdiOpenDCW for CreateDCW.
303       gdi32: Don't use WideCharToMultiByte in font.c.
304       gdi32: Introduce user_callbacks.
305       gdi32: Avoid using CRT wide char functions in ntgdi functions.
306       gdi32: Move ntgdi functions to Unix library.
307       gdi32: Use single get_cptable implementation.
308       gdi32: Use native memory allocators in Unix library.
309       gdi32: Use NtAllocateVirtualMemory to alloc DC_ATTR.
310       gdi32: Use NtAllocateVirtualMemory to allocate GDI_SHARED_MEMORY.
311       makedep: Use -fno-builtin for CRT DLLs on PE targets.
312       makedep: Don't use -fno-builtin for importlibs.
313       gdi32: Use pthread mutex in driver.c.
314       gdi32: Use pthread mutex instead of gdi_section.
315       gdi32: Use pthread mutex in font.c.
316       gdi32: Use pthread mutex in dib driver.
317       gdi32: Use win32u_wcsicmp instead of RtlCompareUnicodeStrings.
318       gdi32: Don't use RtlDosPathNameToNtPathName_U in get_unix_file_name.
319       gdi32: Avoid using RtlOpenCurrentUser.
320       gdi32: Use local helpers for Unicode conversion in Unix lib.
321       include: Don't use DECLSPEC_HIDDEN for NTSYSAPI in Unix libs.
322       ntdll: Introduce ntdll_get_build_dir and ntdll_get_data_dir.
323       ntdll: Provide some Unicode helpers for Unix libs.
324       ntdll: Allow Unix libraries to use exception macros.
325       ntdll: Handle Unix lib exception outside Unix stack.
326       gdi32: Use __wine_unix_call interface for Unix library.
327       gdi32: Use __wine_ prefix for Wine ntgdi extensions.
328       win32u: Move ntgdi implementation from gdi32.
329       include: Use __builtin_offsetof on Clang.
330       gdi32: Rename gdidc.c to dc.c.
331       user32: Link directly to win32u.
332       gdi32: Don't export Wine extensions.
333       gdi32: Use DLL forwarding for D3DKMT functions.
334       win32u: Use syscall interface for brush functions.
335       vbscript: Use a dedicated opcode for identifier expressions.
337 Jan Sikorski (8):
338       wined3d: Record a state reset on the first command list.
339       wined3d: Initial implementation of queries for deferred contexts.
340       wined3d: Return error when GetData() is called from a deferred context.
341       wined3d: Introduce wined3d_view_load_location() helper.
342       wined3d: Don't pass wined3d_shader to shader_spirv_compile().
343       wined3d: Use a single allocation for command list data.
344       wined3d: Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for unordered access images.
345       wined3d: Implement UAV clears on the Vulkan backend.
347 Jinoh Kang (1):
348       user32: Implement WindowFromPhysicalPoint.
350 Julian Rüger (1):
351       po: Update German translation.
353 Lauri Kenttä (1):
354       po: Update Finnish translation.
356 Matteo Bruni (5):
357       d3d10core/tests: Use test contexts in test_stream_output().
358       wined3d: Get rid of a WARN() in init_format_filter_info().
359       d3dx9/tests: Clean up GetMatrixPointerArray() tests.
360       d3dcompiler/tests: Also accept broken HRESULT with d3dcompiler_46.
361       ntdll: Implement NtYieldExecution() as usleep().
363 Nikolay Sivov (56):
364       d3d10/effect: Validate shared object types against the pool.
365       d3d10/effect: Validate shared constant buffer types against the pool.
366       d3d10/effect: Implement IsOptimized().
367       d3d10/effect: Handle D3D10_SVT_UINT when reading float constants.
368       d3d10/tests: Regenerate state group test effect with newer compiler.
369       ole32/tests: Systematically check for supported moniker interfaces.
370       ole32/tests: Add some tests for CommonPrefixWith().
371       ole32/composite: Implement CommonPrefixWith() without iterators.
372       ole32/composite: Fix IsEqual() comparison logic.
373       ole32/composite: Fix argument handling in ComposeWith().
374       ole32/composite: Reimplement Inverse().
375       ole32/antimoniker: Fix argument handling in RelativePathTo().
376       ole32/itemmoniker: Fix argument handling in RelativePathTo().
377       ole32/pointermoniker: Fix argument handling in RelativePathTo().
378       ole32/filemoniker: Fix argument handling in Reduce().
379       ole32/composite: Improve handling of BindToObject() when left side moniker is specified.
380       ole32/composite: Handle per-component failure in GetDisplayName().
381       ole32/pointermoniker: Fix argument check in GetDisplayName().
382       ole32/tests: Add a GetComparisonData() test for composite.
383       ole32/composite: Cleanup IsRunning() implementation.
384       ole32/composite: Do not use antimoniker composition in BindToStorage().
385       ole32/composite: Reimplement Reduce().
386       ole32/composite: Fix argument handling in component enumerator methods.
387       ole32/composite: Do not use enumerators and antimoniker composition in RelativePathTo().
388       ole32/composite: Disable cloning of enumerator instances.
389       ole32/composite: Cleanup enumerator methods.
390       ole32: Use public function to get file extension in GetClassFile().
391       riched20: Remove New() allocation macro.
392       riched20: Use regular allocation helpers for text services objects.
393       d3d10/effect: Go through both local and shared buffers when looking for shader resources.
394       d3d10/effect: Go through both local and shared variables when looking for shader resources.
395       ole32/tests: Remove unused variable.
396       d3d10/effect: Fix handling samplers array binding.
397       d3d10/effect: Set corresponding flag for pooled variables.
398       d3d10/effect: Remove unused field from pass structure.
399       d3d10/effect: Reduce duplication in state and shader object release helpers.
400       d3d10/effect: Use separate enum to describe property container.
401       d3d10/effect: Make it clear which assignment types are supported in state groups.
402       d3d10/effect: Remove a bit of a dead code for semantic handling, for anonymous shader variables.
403       widl: Allow modules without attributes.
404       widl: Allow [hidden] and [version] on modules.
405       include: Add some more TOM interfaces.
406       d3d10/effect: Remove fixme from D3D10CreateEffectFromMemory().
407       d3d10/effect: Make it clear that buffers are always set one by one.
408       d3d10/effect: Rename known and used field in type descriptor.
409       d3d10/effect: Access pool effect structure directly.
410       d3d10/effect: Extend sampler backing store with a texture field.
411       d3d10/effect: Handle NULL initializer for SamplerState.Texture field.
412       ntdll: Double dll name buffer size for relay traces.
413       d3d10/effect: Use effect variable pointers to store per-pass shader objects.
414       d3d10/effect: Set shader masks in ComputeStateBlockMask() for passes.
415       d3d10: Fix up D3D10_DST_* names.
416       d3d10/effect: Explicitly store rasterizer state variable.
417       d3d10/effect: Explicitly store depth stencil state variable.
418       d3d10/effect: Explicitly store blend state variable.
419       d3d10/effect: Set state block masks for state variables.
421 Paul Gofman (12):
422       ntdll: Implement LdrGetDllHandleEx() function.
423       kernelbase: Sanitize flags in GetModuleHandleExW().
424       kernelbase: Don't use LdrLockLoaderLock() in GetModuleHandleExW().
425       kernelbase: Don't use loader lock for loading libraries as data files.
426       ntdll: Factor out get_vprot_range_size() function.
427       ntdll: Scan pages only once in get_basic_memory_info().
428       ntdll: Optimize get_vprot_range_size() for big ranges.
429       ntdll/tests: Add test for LdrGetDllFullName().
430       ntdll: Implement LdrGetDllFullName() function.
431       kernelbase: Use LdrGetDllFullName() in GetModuleFileNameW().
432       kernelbase: Fix string size variable overflow in GetModuleFileNameW().
433       wintrust: Cache provider functions in WintrustLoadFunctionPointers().
435 Piotr Caban (11):
436       oleacc: Reorganize class specific behaviour handling.
437       oleacc: Add default client IAccessible::put_accValue implementation.
438       user32/tests: Print context in window style tests.
439       user32/tests: Test style returned by GetWindowLong in WM_CREATE.
440       user32/tests: Don't use the same condition in ok and todo_wine_if.
441       user32: Simplify CreateWindow condition for setting WS_EX_WINDOWEDGE style.
442       user32: Add helper for setting WS_EX_WINDOWEDGE flag.
443       user32: Update exstyle when setting style in SetWindowLong.
444       user32/tests: Test window style in HCBT_CREATEWND hook.
445       user32: Fix style passed to HCBT_CREATEWND hook.
446       user32: Fix window style while CBT_CREATEWND hook is called.
448 Robert Wilhelm (1):
449       vbscript: Don't use function return value for call expressions.
451 Rémi Bernon (124):
452       dinput: Use a custom HID joystick state instead of DIJOYSTATE2.
453       dinput: Enumerate all HID joystick objects at once.
454       dinput: Return proper error status from HID joystick GetObjectInfo.
455       dinput: Convert DIPH_BYOFFSET filter to use current data format offsets.
456       dinput: Compute HID joystick object offsets dynamically.
457       kernelbase: Fix incorrect pseudo console allocation size (GCC 11).
458       winebus.sys: Move hidraw_device code around.
459       dinput: Return DIERR_NOTFOUND when DIPROP_RANGE object isn't found.
460       dinput: Return DIERR_UNSUPPORTED when reading DIPROP_RANGE with DIPH_DEVICE mode.
461       dinput: Check that DIPROP_RANGE lMin and lMax are ordered.
462       dinput: Reset the HID joystick state values on DIPROP_RANGE changes.
463       dinput: Scale HID joystick axis values according to their center point.
464       dinput: Implement HID joystick DIPROP_(DEADZONE|SATURATION|GRANULARITY).
465       dinput: Implement HID joystick DIPROP_AUTOCENTER property.
466       dinput: Remove unusual HID joystick button count FIXMEs.
467       include: Add HID Physical Interface Device usage page.
468       include: Add Wine-specific HID PID usages definitions.
469       include: Add IID_IDirectInputPIDDriver definition.
470       dinput8/tests: Add a new force-feedback capable HID joystick test.
471       dinput: Improve filtering of HID device state input report.
472       dinput: Enumerate HID joystick objects using internal HID caps.
473       dinput: Enumerate HID joystick DIDFT_OUTPUT objects.
474       dinput: Enumerate output button objects in their declaration order.
475       dinput: Simplify object enumeration by removing special cases.
476       hidclass.sys: Don't leak report queues on device removal.
477       hidclass.sys: Keep pending IRPs with the report queues.
478       hidclass.sys: Rename hid_report_queue into hid_queue.
479       dinput8/tests: Don't try running more tests after a win_skip.
480       dinput8/tests: Add some HID joystick IDirectInputDevice8_EnumEffects tests.
481       dinput8/tests: Add the required PID reports to enumerate some effects.
482       dinput8/tests: Add some HID joystick IDirectInputDevice8_GetEffectInfo tests.
483       dinput8/tests: Add the required PID reports to acquire the device.
484       dinput8/tests: Add some HID joystick IDirectInputDevice8_Escape tests.
485       dinput8/tests: Add some HID joystick IDirectInputDevice8_GetForceFeedbackState tests.
486       dinput8/tests: Add some HID joystick IDirectInputDevice8_SendForceFeedbackCommand tests.
487       dinput8/tests: Add some HID joystick IDirectInputDevice8_SendDeviceData tests.
488       dinput8/tests: Add the required PID reports to create effects.
489       dinput8/tests: Add some HID joystick IDirectInputDevice8_CreateEffect tests.
490       dinput: Fix HID joystick DIDFT_POV enumeration.
491       dinput: Stub hid_joystick force feedback methods.
492       winebus.sys: Add a PID device control output report.
493       dinput: Look for the PID device control output report.
494       dinput: Implement hid_joystick_SendForceFeedbackCommand.
495       dinput: Start and cancel reading HID reports while holding the CS.
496       dinput: Send DISFFC_RESET command on HID joystick (Un)Acquire.
497       dinput: Implement HID joystick IDirectInputDevice8_EnumEffects.
498       dinput: Implement HID joystick IDirectInputDevice8_CreateEffect stub.
499       winebus.sys: Implement PID device control for SDL devices.
500       winebus.sys: Implement PID device control for UDEV lnxev devices.
501       dinput8/tests: Add some HID joystick IDirectInputDevice8_EnumCreatedEffectObjects tests.
502       dinput: Keep a private ref to the device on created effects.
503       dinput: Implement HID joystick IDirectInputDevice8_EnumCreatedEffectObjects.
504       winebus.sys: Add a PID effect control output report.
505       dinput: Look for the PID effect control output report.
506       winebus.sys: Implement PID effect control for SDL devices.
507       winebus.sys: Implement PID effect control for UDEV lnxev devices.
508       hidclass.sys: Introduce new find_report_with_type_and_id helper.
509       hidclass.sys: Drop reports when length doesn't match their declaration.
510       hidclass.sys: Overwrite queued reports as FIFO instead of LIFO.
511       winebus.sys: Use type and size of the current event, not the previous one.
512       winebus.sys: Add a PID effect update output report.
513       dinput: Look for the PID effect update output report.
514       winebus.sys: Implement PID effect update for SDL devices.
515       winebus.sys: Implement PID effect update for UDEV lnxev devices.
516       dinput: Implement more of HID joystick IDirectInputDevice8_GetEffectInfo.
517       dinput: Look for PID axes enable collection and set DIEP_AXES if found.
518       winexinput.sys: Fix casing of "Xbox One for Windows" product string.
519       winexinput.sys: Add more Xbox One product string overrides.
520       winebus.sys: Add more Xbox controllers product ids.
521       hidclass.sys: Pass output buffer directly in handle_minidriver_string.
522       hidclass.sys: Move product string overrides from winexinput.sys.
523       hidclass.sys: Add Sony controllers product string overrides.
524       dinput8/tests: Reduce test output verbosity.
525       dinput8/tests: Reduce pnp_driver_start todo_wine verbosity.
526       dinput8/tests: Add some HID joystick IDirectInputEffect_Initialize tests.
527       dinput8/tests: Add some HID joystick IDirectInputEffect_GetParameters tests.
528       dinput8/tests: Add Y and Z axes as force-feedback capable axes.
529       dinput8/tests: Add some HID joystick IDirectInputEffect_SetParameters tests.
530       dinput8/tests: Add more force-feedback effects PID reports and caps.
531       dinput: Add DIDFT_FFACTUATOR flag on PID effect axes.
532       dinput: Add DIDFT_FFEFFECTTRIGGER flag on trigger buttons.
533       dinput: Fill the HID joystick object instance exponent and dimension.
534       joy.cpl: Acquire the device before starting effect.
535       joy.cpl: Pass DIEFF_OBJECTOFFSETS flag to IDirectInputEffect_SetParameters.
536       winexinput.sys: Remove unnecessary IOCTL_HID_GET_STRING condition.
537       winebus.sys: Remove "stub!" from lnxev_device_haptics_start trace.
538       winebus.sys: Don't enter critical section in bus_find_unix_device.
539       winebus.sys: Parse product string from uevent HID_NAME.
540       dinput: Remove "stub!" from HID joystick IDirectInputDevice8_EnumCreatedEffectObjects.
541       dinput: Allocate buffers for the effect control and update reports.
542       dinput: Implement HID joystick IDirectInputEffect_Initialize.
543       dinput: Implement HID joystick IDirectInputEffect_GetEffectGuid.
544       dinput8/tests: Add some HID joystick IDirectInputEffect_(Download|Unload) tests.
545       dinput8/tests: Add some HID joystick IDirectInputEffect_(Start|Stop) tests.
546       dinput: Implement HID joystick IDirectInputEffect_(Start|Stop).
547       dinput: Partially implement HID joystick IDirectInputEffect_GetParameters.
548       dinput: Partially implement HID joystick IDirectInputEffect_SetParameters.
549       dinput: Look for PID direction collection and set DIEP_DIRECTION if found.
550       dinput: Implement HID joystick IDirectInputEffect_(Download|Unload).
551       winebus.sys: Add a PID set periodic output report.
552       dinput: Implement support for the PID effect set periodic report.
553       winebus.sys: Add a PID set envelope output report.
554       dinput: Implement support for the PID effect set envelope report.
555       dinput8/tests: Add some DIEFT_CONDITION HID joystick effect tests.
556       winebus.sys: Add a PID set condition output report.
557       dinput: Implement support for the PID effect set condition report.
558       winebus.sys: Add a PID set constant force output report.
559       dinput: Look for the PID set constant force output report.
560       winebus.sys: Add a PID set ramp force output report.
561       dinput: Look for the PID set ramp force output report.
562       winebus.sys: Only keep a single read pending.
563       winebus.sys: Query and parse device report descriptor on device start.
564       winebus.sys: Keep a separate report buffer for each input report id.
565       winebus.sys: Queue HID reports instead of overwritting the last one.
566       xinput1_3: Wait for CancelIoEx completion when disabling controllers.
567       xinput1_3: Destroy controllers when ReadFile fails and I/O is not pending.
568       xinput1_3: Do not use delay loaded imports.
569       xinput1_3: Initialize the controller list in the update thread.
570       xinput1_3: Register for device notifications to update controller list.
571       dinput: Do not wait for internal hooks inside the HID joystick CS.
572       dinput: Hold the HID joystick CS when updating the device state.
573       dinput: Wait for CancelIoEx completion when unacquiring HID joysticks.
574       dinput: Call device read_callback while holding the internal CS.
575       dinput: Check for ReadFile errors and return DIERR_INPUTLOST.
577 Stefan Dösinger (1):
578       wined3d: Fix the center offset in get_projection_matrix.
580 Tim Clem (3):
581       dinput: Factor out HID value retrieval in joystick_osx.
582       dinput: Lock around polling a HID device in joystick_osx.
583       dplayx: Map global memory anywhere if the standard address is unavailable.
585 Zebediah Figura (45):
586       krnl386: Don't handle %ss in fix_selector().
587       wined3d: Implement Vulkan NULL cube array image shader resource view descriptors.
588       d3d9: Pass a valid map box to wined3d_resource_map().
589       d3d11/tests: Add a stress test for dynamic buffer maps.
590       d3d10core/tests: Add a stress test for dynamic buffer maps.
591       d3d9/tests: Add a stress test for dynamic buffer maps.
592       d3d8/tests: Add a stress test for dynamic buffer maps.
593       krnl386: Print %bp, %ss, and %sp for register functions in relay_call_from_16().
594       ntdll: Also print %ss in dispatch_exception().
595       krnl386: Call DOSVM_IntProcRelay() via the application stack.
596       krnl386: Return to a generated 16-bit entry point when calling builtin interrupt handlers.
597       krnl386: Call generated 16-bit entry points from the snoop thunks.
598       wined3d: Do not call list_remove() on a Vulkan query which has not been started.
599       wined3d: Call prepare_upload_bo in wined3d_device_context_emit_map() only for DISCARD or NOOVERWRITE maps.
600       wined3d: Wrap the upload bo address in a new upload_bo structure.
601       winegstreamer: Move the GstAutoplugSelectResult definition to wg_parser.c.
602       winegstreamer: Use a single wg_parser_create() entry point.
603       winegstreamer: Initialize GStreamer in wg_parser_create().
604       winegstreamer: Set unlimited buffering using a flag for wg_parser_create().
605       winegstreamer: Remove the no longer used start_dispatch_thread() declaration.
606       winebuild: Move the CALL32_CBClient[Ex] implementation to krnl386.
607       krnl386: Return to CALL32_CBClient_RetAddr from CBClientThunkSL().
608       winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to krnl386.
609       winegstreamer: Move Unix library definitions into a separate header.
610       winegstreamer: Return void from wg_parser_stream_seek().
611       winegstreamer: Convert the Unix library to the __wine_unix_call interface.
612       wined3d: Do not emit an upload for NOOVERWRITE maps on deferred contexts.
613       wined3d: Separate a resource_offset_map_pointer() helper.
614       wined3d: Rename {prepare, get}_upload_bo() to {map, unmap}_upload_bo().
615       wined3d: Call the unmap_upload_bo callback in wined3d_device_context_emit_update_sub_resource().
616       wined3d: Do not return a struct upload_bo from the map_upload_bo callback.
617       winegstreamer: Handle zero-length reads in src_getrange_cb().
618       winegstreamer: Use array_reserve() to reallocate read buffers.
619       winegstreamer: Avoid passing a NULL buffer to wg_parser_push_data() in the case of a zero-length read.
620       winegstreamer: Avoid seeking past the end of an IMFByteStream.
621       winegstreamer: Trace the unfiltered caps in sink_query_cb().
622       winegstreamer: Translate GST_AUDIO_CHANNEL_POSITION_MONO to SPEAKER_FRONT_CENTER.
623       wmvcore: Move the sync reader implementation to winegstreamer.
624       winegstreamer: Get rid of the WMSyncReader typedef.
625       wmvcore: Move the async reader implementation to winegstreamer.
626       winegstreamer: Get rid of the WMReader typedef.
627       server: Do not allocate a connect_req structure for nonblocking sockets (Valgrind).
628       server: Avoid leaking the poll output buffer if the request is terminated irregularly (Valgrind).
629       ws2_32: Close the new socket handle on CF_DEFER.
630       krnl386: Fix a mistyped NULL check in WOWTHUNK_Init().
632 Zhiyi Zhang (11):
633       light.msstyles: Add scrollbar width and height.
634       comctl32/button: Do not restore push button font after themed painting.
635       comctl32/button: Do not restore checkbox font after themed painting.
636       comctl32/button: Do not restore groupbox font after themed painting.
637       comctl32/button: Do not restore split button font after themed painting.
638       comctl32/button: Do not restore command link font after themed painting.
639       comctl32/rebar: Do not adjust non-client size when themed.
640       comctl32/rebar: Do not remove WS_BORDER when theming is on.
641       comctl32/tests: Delete unused headers.
642       comctl32/status: Do not use theme metrics to compute height.
643       comctl32/tests: Fix a treeview test failure when theming is on.
645 Ziqing Hui (4):
646       d2d1/tests: Add tests for 2D affine effect.
647       d2d1/tests: Add tests for crop effect.
648       d3dx10: Add stubs for D3DX10CreateTextureFromFile{A,W}.
649       d3dx10: Add stubs for D3DX10CreateTextureFromResource{A, W}.
652 Alexandre Julliard
653 julliard@winehq.org