winevulkan: Update to VK spec version 1.2.197.
[wine.git] / ANNOUNCE
blobd6600a5b94fa50e53589f95c948c252852a7e88f
1 The Wine development release 6.20 is now available.
3 What's new in this release (see below for details):
4   - MSXml, XAudio, DInput and a few other modules converted to PE.
5   - A few system libraries are bundled with the source to support PE builds.
6   - HID joystick is now the only supported joystick backend in DirectInput.
7   - Better support for MSVCRT builds in Winelib.
8   - Various bug fixes.
10 The source is available from the following locations:
12   https://dl.winehq.org/wine/source/6.x/wine-6.20.tar.xz
13   http://mirrors.ibiblio.org/wine/source/6.x/wine-6.20.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.20 (total 29):
31   30600  Emergency 3 crashes on start
32   34297  Allow reconnecting to disconnected joysticks
33   36796  Mozilla Firefox 13.0 crashes on startup if run in Windows Vista+ mode (D3D10CreateEffectFromMemory needs more complete Direct3D 10 DXBC parser)
34   38696  Messy screen in DxTex.exe
35   41080  Need For Speed Most Wanted 2005 not working after upgrade from Ubuntu 14.04 to 16.04
36   41317  WOLF RPG Editor: Gamepad axis value not recalculated after deadzone change results in ghost input events
37   41700  "Install Now" and "Customize installation" buttons are invisible in Python 3.5.2 installer
38   42137  DirectInput needs to join both Xbox shoulder triggers into a single axis (aka half-axis problem)
39   42434  Gamepad listed twice
40   42695  Path of Exile fails to start when launching with dx11 enabled with message "Failed to create WIC factory" (CoCreateInstance() called in uninitialized apartment)
41   47387  Victor Vran has no sound
42   49296  ZWCAD 2020: the program doesn't start (using mono)
43   49887  "EA Desktop" installer fails.
44   50758  Vbscript does not handle recursive calls
45   51105  Diablo 2: Resurrected (D2R) stays black
46   51385  DTS Encoder Suite won't start in Wine 6.0.1
47   51564  Can't run 16bit programs when built without mingw
48   51574  swscanf_s with %zu fails for valid value
49   51583  Tetris crashes due to "visual styles"
50   51707  Rise of the Tomb Raider stops the process before entering the main menu
51   51749  Wine 6.17 fails to build under Slackware64 Current with multilib
52   51797  Input lag with controller in Wine 6.18
53   51802  Theming on 16-bit application breaks their UI
54   51846  Standard library call fopen(..., "wx") not recognized - causes destruction of data
55   51863  QuantumClient.exe from Raymarine SDK needs dhcpcsvc6.dll
56   51871  PSScript fails with 0x80041002 (WBEM_E_NOT_FOUND) ( system property L"__Derivation" not implemented)
57   51892  Program DSP-408.exe returns Assertion Failed error in afxwin1.ini line 418
58   51894  ucrtbase:misc fails on some Windows 10 1607 and 1709
59   51902  Project CARS 2 keyboard keys aren't responsive
61 ----------------------------------------------------------------
63 Changes since 6.19:
65 Alex Henrie (6):
66       winemenubuilder: Return pointer from freedesktop_mime_type_for_extension.
67       dhcpcsvc6: Add stub DLL.
68       winemenubuilder: Introduce a reg_enum_keyW helper function.
69       ws2_32: Clear last error in WSASocketW.
70       ws2_32: Set WSAEFAULT if the bind address is null.
71       ws2_32/tests: Correct name of IPV6_V6ONLY socket option in messages.
73 Alexandre Julliard (92):
74       configure: Define _GNU_SOURCE in config.h.
75       configure: Assume that dlfcn.h is available on Unix.
76       include: Don't define math functions or constants in wine/port.h.
77       server: Add sys/types.h include in a few more files.
78       adsiid: Move to the libs directory.
79       dmoguids: Move to the libs directory.
80       dxerr8: Move to the libs directory.
81       dxerr9: Move to the libs directory.
82       dxguid: Move to the libs directory.
83       mfuuid: Move to the libs directory.
84       strmiids: Move to the libs directory.
85       uuid: Move to the libs directory.
86       wbemuuid: Move to the libs directory.
87       wmcodecdspuuid: Move to the libs directory.
88       explorer: Use the correct buffer size for the full path name.
89       winemenubuilder: Remove dead code.
90       kernelbase: Remove dead code.
91       include: Define DECLSPEC_HIDDEN in guiddef.h if necessary.
92       include: Add more sal.h macros.
93       include: Import specstrings.h and related headers from Mingw.
94       include: Use compatible header guard in basetsd.h.
95       include: Add prototypes for the byteswap functions.
96       include: Add a define to enable fastcall wrappers, similar to the thiscall one.
97       configure: Add a __WINE_PE_BUILD define for files that are built as PE.
98       configure: Don't define _WIN32 for Cygwin builds.
99       configure: Always define _WIN32 for msvcrt builds.
100       include: Always add defines for the Interlocked* functions.
101       include: Define all the __int* types also for msvcrt.
102       msvcrt: Move _fdclass/_dclass to avoid forward references.
103       include: Define fpclassify().
104       include: Use the standard va_list instead of __ms_va_list when building with msvcrt.
105       makefiles: Add support for building libraries imported from external sources.
106       makefiles: Don't pass warning flags to external libraries.
107       libs: Import upstream code from zlib 1.2.11.
108       cabinet: Use the bundled zlib.
109       dbghelp: Use the bundled zlib.
110       opcservices: Use the bundled zlib.
111       wininet: Use the bundled zlib.
112       libs: Import upstream code from libpng 1.6.37.
113       user32: Use the bundled libpng.
114       windowscodecs: Use the bundled libpng.
115       winecfg: Store the logo image in PNG format.
116       comdlg32: Return INT_PTR instead of LRESULT in dialog procedures.
117       cryptui: Return INT_PTR instead of LRESULT in dialog procedures.
118       oledb32: Return INT_PTR instead of LRESULT in dialog procedures.
119       user32: Return INT_PTR instead of LRESULT in dialog procedures.
120       libs: Import upstream code from libjpeg 9d.
121       windowscodecs: Use the bundled libjpeg.
122       libs: Import upstream code from libtiff 4.3.0.
123       windowscodecs: Use the bundled libtiff.
124       libs: Import code from upstream lcms2 2.12.
125       mscms: Use the bundled lcms2.
126       ntdll: Avoid including wine/port.h.
127       loader: Avoid including wine/port.h.
128       libwine: Avoid including wine/port.h.
129       msxml3: Always set output length in encoding conversion.
130       libs: Import code from upstream libxml2 2.9.12.
131       libs: Import code from upstream libxslt 1.1.34.
132       mxsml3: Use the bundled libxml2 and libxslt and build with msvcrt.
133       libs: Import upstream code from gsm 1.0.19.
134       msgsm32.acm: Use the bundled gsm codec and build with msvcrt.
135       wow64win: Add missing syscall entry for NtUserGetObjectInformation().
136       libs: Import upstream code from jxrlib 1.1.
137       wmphoto: Use the bundled jxrlib.
138       libs: Import upstream code from mpg123 1.29.1.
139       mp3dmod: Use the bundled mpg123 and build with msvcrt.
140       l3codeca.acm: Use the bundled mpg123 and build with msvcrt.
141       libs: Import code from upstream FAudio 21.10.
142       xaudio: Use the bundled FAudio and build with msvcrt.
143       winebuild: Add a more generic way to create directories and sections in fake dlls.
144       winebuild: Wrap 16-bit fake dlls in a PE module.
145       setupapi: Try to extract 16-bit image also from .fake files.
146       aclui: Use the standard va_list instead of __ms_va_list.
147       advpack/tests: Use the standard va_list instead of __ms_va_list.
148       avifil32: Use the standard va_list instead of __ms_va_list.
149       d3dcompiler: Use the standard va_list instead of __ms_va_list.
150       dbgeng: Use the standard va_list instead of __ms_va_list.
151       dinput8/tests: Use the standard va_list instead of __ms_va_list.
152       kernel32/tests: Use the standard va_list instead of __ms_va_list.
153       kernelbase: Use the standard va_list instead of __ms_va_list.
154       krnl386: Use the standard va_list instead of __ms_va_list.
155       msi: Use the standard va_list instead of __ms_va_list.
156       msvcrt: Use the standard va_list instead of __ms_va_list.
157       ntdll: Use the standard va_list instead of __ms_va_list.
158       ntoskrnl/tests: Use the standard va_list instead of __ms_va_list.
159       riched20: Use the standard va_list instead of __ms_va_list.
160       rpcrt4: Use the standard va_list instead of __ms_va_list.
161       shell32: Use the standard va_list instead of __ms_va_list.
162       shlwapi: Use the standard va_list instead of __ms_va_list.
163       user32: Use the standard va_list instead of __ms_va_list.
164       vcomp: Use the standard va_list instead of __ms_va_list.
165       wldap32: Use the standard va_list instead of __ms_va_list.
167 Alistair Leslie-Hughes (5):
168       wininet: Support option INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT for http requests.
169       dbghelp: Support UWOP_EPILOG in unwind.
170       include: Use known variables names in SYSTEM_INTERRUPT_INFORMATION.
171       wbemprox: Add WMI namespace.
172       powrprof: Add PowerRegisterSuspendResumeNotification stub.
174 Bernhard Kölbl (2):
175       oleaut32: Allow the registration of 64bit typelibs from a 32bit context.
176       oleaut32: Register a typelib's name if a documentation is not available.
178 Daniel Lehman (5):
179       msxml3/tests: Add some processing instruction tests.
180       msxml3: Parse XML declaration when creating processing instruction.
181       msxml3: Handle single quotes in xml declaration.
182       msxml3: Update error for missing closing quote.
183       msxml3: Handle NULL XML declaration.
185 David Kahurani (1):
186       winedump: Remove a FIXME.
188 Dmitry Timoshkov (2):
189       user32: Don't check active window state when handling SC_MINIMIZE/SC_MAXIMIZE/SC_RESTORE.
190       winex11.drv: Add GPU hardware information values to the registry.
192 Eduard Permyakov (1):
193       wbemprox: Add 'Manufacturer' and 'Name' properties to Win32_PnPEntity class.
195 Eric Pouech (23):
196       winedbg: Properly print 64bit integers.
197       winedbg: Fix result type in expression's computation.
198       winedbg: Use proper modifier when using sscanf for a DWORD_PTR.
199       winedbg: Simplify some printing of addresses.
200       winedbg: Use proper width when printing addresses with leading 0.
201       mscoree/tests: Remove unused parameter in sprintf.
202       winedump: Fix incorrect alignment.
203       winedump: Dump MSC's S_UNAMESPACE entries.
204       dbghelp: Use proper macros for VARIANT.
205       dbghelp: Report a couple more VARIANT types in symbol info for constants.
206       dbghelp: Add helper to initialize a module_pair.
207       dbghelp: Use wide string literals.
208       dbghelp: Handle some more error conditions in SymGetTypeInfo().
209       include/dbghelp.h: Update inline-related APIs and structures.
210       dbghelp: Add stubs for inline-related APIs.
211       dbghelp: Start implementing StackWalkEx.
212       dbghelp: Add stub implementation of SymFromInlineContext(W).
213       dbghelp: Add stub implementations of SymGetLineFromInlineContext(W).
214       dbghelp: Add stub implementations for the SymSetScope* functions.
215       dbghelp: Improve error handling in SymSetContext().
216       dbghelp: Factorize SymUnloadModule and SymUnloadModule64.
217       dbghelp/dwarf: Properly handle error cases while computing frame_cfa.
218       msvcrt: Support I width modifier in *scanf* family.
220 Esme Povirk (2):
221       localspl: Add ARM print environments.
222       localspl: Choose print environment based on architecture.
224 Florian Eder (1):
225       robocopy: Add stub.
227 François Gouget (3):
228       ctype.h: Add _isctype_l() declaration.
229       wrc: Add a trailing linefeed to a couple of error() messages.
230       winebus.sys: Add a trailing linefeed to a couple of FIXME()s.
232 Gabriel Ivăncescu (2):
233       mshtml: Implement HTMLDocument's toString using dispex_to_string.
234       mshtml/tests: Add tests for mimeTypes and plugins objects' names.
236 Georg Lehmann (1):
237       winevulkan: Update to VK spec version 1.2.196.
239 Gijs Vermeulen (1):
240       windows.devices.enumeration: Add stub dll.
242 Hans Leidekker (4):
243       wpcap: Accept interfaces without associated IPv4 or IPv6 address.
244       wbemprox: Return an empty array for __DERIVATION.
245       wbemprox: Add __DERIVATION to the list of system properties.
246       wbemprox: Implement Win32_OperatingSystem.Status.
248 Huw D. M. Davies (3):
249       maintainers: Update GDI files.
250       wineps: Avoid using typeof().
251       gdiplus: Switch to STRETCH_HALFTONE mode before playing a blit record.
253 Ivo Ivanov (1):
254       dinput: Ignore input caps from the PID usage page.
256 Jacek Caban (33):
257       win32u: Use syscall interface for bitmap functions.
258       win32u: Use syscall interface for region functions.
259       win32u: Use syscall interface for some DC functions.
260       win32u: Use syscall interface for some font functions.
261       win32u: Use syscall interface for some GDI objects functions.
262       win32u: Use syscall interface for some mapping functions.
263       win32u: Use syscall interface for some palette functions.
264       win32u: Use syscall interface for some path functions.
265       win32u: Use syscall interface for pen constructors.
266       win32u: Use syscall interface for spooler functions.
267       ntdll: Move error mapping to a header file.
268       ntdll: Export RtlNtStatusToDosError from Unix lib.
269       win32u: Move NtUserCloseWindowStation from user32.
270       win32u/tests: Add NtUserCloseWindowStation test.
271       win32u: Move NtUserGetProcessWindowStation implementation from user32.
272       win32u: Move NtUserSetProcessWindowStation implementation from user32.
273       win32u: Move NtUserCloseDesktop implementation from user32.
274       win32u: Move NtUserGetThreadDesktop implementation from user32.
275       win32u: Move NtUserSetThreadDesktop implementation from user32.
276       win32u: Move NtUserOpenInputDesktop implementation from user32.
277       win32u: Move NtUserGetObjectInformation implementation from user32.
278       win32u: Move NtUserSetObjectInformation implementation from user32.
279       make_unicode: Update vertical.c path.
280       win32u: Move NtUserCreateWindowStation implementation from user32.
281       win32u: Move NtUserOpenWindowStation implementation from user32.
282       win32u: Move NtUserCreateDesktopEx implementation from user32.
283       win32u: Move NtUserOpenDesktop implementation from user32.
284       win32u: Factor out reg_open_hkcu_key.
285       win32u: Move winstation initialization from user32.
286       win32u: Use syscall interface for some D3DKMT functions.
287       win32u: Don't use CDECL for font backend functions.
288       win32u: Don't use CDECL for OSMesa functions.
289       win32u: Don't call abort proc in NtGdiStartDoc.
291 Jan Sikorski (34):
292       wined3d: Make wined3d_device_context procedures thread safe.
293       wined3d: Do not call wined3d_device_destroy_default_samplers() in the CS thread.
294       wined3d: Use atomic instructions for resource view bind counts.
295       wined3d: Count all bo's towards retired bo size.
296       wined3d: Make reference count decrementing functions thread safe.
297       wined3d: Set render targets and UAVs atomically in wined3d.
298       d3d11: Use wined3d_device_context_set_render_targets_and_unordered_access_views() in OMSetRenderTargets.
299       d3d11: Don't grab wined3d lock for reference incrementing functions.
300       d3d11: Don't grab wined3d lock for wined3d_texture_incref().
301       d3d11: Don't grab wined3d lock for reference decrementing functions.
302       d3d11: Don't grab wined3d lock for wined3d_texture_decref().
303       d3d11: Don't grab wined3d lock for query issue functions.
304       d3d11: Don't grab wined3d lock for resource mapping and unmapping.
305       d3d11: Don't grab wined3d lock for wined3d state setters.
306       d3d11: Don't grab wined3d lock for wined3d draw functions.
307       d3d11: Don't grab wined3d lock for wined3d dispatch functions.
308       d3d11: Don't grab wined3d lock for wined3d copy (sub)resource functions.
309       d3d11: Don't grab wined3d lock for wined3d_device_context_update_sub_resource().
310       d3d11: Don't grab wined3d lock for view clears.
311       d3d11: Don't grab wined3d lock for wined3d_device_context_resolve_sub_resource().
312       d3d11: Don't grab wined3d lock for generating mipmaps.
313       d3d11: Don't grab wined3d lock for wined3d_device_context_reset_state().
314       d3d11: Don't grab wined3d lock for wined3d_device_context_flush().
315       d3d11: Don't grab wined3d lock for wined3d_device_context_copy_uav_counter().
316       d3d11: Don't grab wined3d lock for wined3d_device_context_execute_command_list().
317       d3d11: Don't grab wined3d lock for wined3d deferred context functions.
318       ddraw: Don't grab wined3d lock for wined3d_resource_unmap().
319       dxgi: Don't grab wined3d lock for wined3d_resource_map/unmap().
320       dxgi: Don't grab wined3d lock for wined3d_decref().
321       d3d8: Don't grab wined3d lock for wined3d_resource_map/unmap().
322       d3d8: Don't grab wined3d lock in vertex/indexbuffer AddRef/Release().
323       d3d8: Don't grab wined3d lock in surface AddRef/Release().
324       d3d9: Don't grab wined3d lock for wined3d_resource_map/unmap().
325       d3d8: Don't grab wined3d lock for wined3d_vertex_declaration_decref().
327 Jefferson Carpenter (1):
328       msxml3/saxreader: Handle null url in parseURL().
330 Julian Rüger (1):
331       po: Update German translation.
333 Martin Storsjö (1):
334       xslt: Build with LIBXSLT_STATIC, fix building with clang in MSVC mode.
336 Matteo Bruni (1):
337       wined3d: End transform feedback on SO buffer destruction even if the D3D buffer isn't bound.
339 Michael Stefaniuc (1):
340       dinput: Avoid negating FAILED().
342 Nikolay Sivov (23):
343       d3d10/effect: Use shader variable directly from pass structure on Apply().
344       d3d10/tests: Add some tests for annotations.
345       d3d10/effect: Use separate structure for annotations array.
346       d3d10/effect: Handle static variable assignments for object fields in state objects.
347       d3d10/effect: Add support for constant index and anonymous shader values in assignment parsing helper.
348       d3d10/effect: Consolidate state objects and passes property information.
349       d3d10/effect: Get rid of linear search for property information.
350       d3dx9: Implement ID3DXTextureShader::GetFunction().
351       d3d10/effect: Do not use internal value types.
352       d3d10/effect: Remove unused arguments from shader resources helper.
353       d3d10/effect: Add a helper to return array element.
354       d3d10/effect: Pick up resources from elements when shader variable arrays are used.
355       d3d10/effect: Use destination index when setting array property element.
356       d3d10/effect: Use SamplerState.Texture when setting shader resources.
357       d3d10/effect: Remove buffer type argument from object creation helper.
358       d3d10/effect: Use correct vertex shader element when returning input signature.
359       d3d10/tests: Use IsValid() instead of null checks.
360       dwrite: Add properties for new Unicode 13 scripts.
361       d3d11: Correctly handle optional arguments in OMGetDepthStencilState().
362       mfplay: Do not clear media item when playback ends.
363       mfplay: Handle NULL item in SetMediaItem().
364       mfplat: Consider MF_BYTESTREAM_ORIGIN_NAME when looking for bytestream handler.
365       mfplat: Use wide strings for registry paths.
367 Paul Gofman (9):
368       winhttp: Don't send notifications when connection is closed on read finish.
369       winhttp: Process end of read data before sending callback in read_data().
370       server: Use SO_BINDTODEVICE in bind_to_index() if possible.
371       winex11.drv: Detach vulkan surfaces during thread detach.
372       ntdll: Fix size comparison in NtQuerySystemInformation(SystemCodeIntegrityInformation).
373       ntdll: Store module check sum in WINE_MODREF.
374       include: Update LDR_DATA_TABLE_ENTRY definition.
375       include: Update struct _LDR_DDAG_NODE definition.
376       kernel32/tests: Add test for DDAG node dependencies structure.
378 Piotr Caban (16):
379       ucrtbase: Add __std_terminate export.
380       msvcrt: Don't crash on NULL in fclose.
381       imm32: Add ImmSetActiveContext implementation.
382       imm32: Exit on invalid window in ImmAssociateContext.
383       imm32: Use ImmSetActiveContext in ImmAssociateContext.
384       imm32: Only call ImmSetActiveContext for active window in ImmAssociateContext.
385       imm32: Initialize COM in ImmSetActiveContext.
386       imm32: Destroy default IME windows in ImmDisableIME.
387       winemac.drv: Silence ImeSetActiveContext fixme.
388       winex11.drv: Silence ImeSetActiveContext fixme.
389       ucrtbase: Fix fopen x mode test failures.
390       ucrtbase: Change _isblank_l return value for '\t'.
391       ucrtbase: Avoid bool optimization in __std_exception_copy.
392       imm32: Delay import ole32.dll.
393       user32: Set IMM active context on focus change.
394       imm32: Only call ImmSetActiveContext for focused window in ImmAssociateContext.
396 Robert Wilhelm (2):
397       vbscript: Emit catch after enumnext in for each loops.
398       oleaut32: Rescale result after overflow in VarDecAdd.
400 Rémi Bernon (64):
401       dinput: Move device_instance_is_disabled to device.c.
402       dinput: Move PIDVID internal guid to device.c.
403       dinput: Remove legacy joystick backends.
404       dinput: Build with msvcrt.
405       dinput: Use wide char string literals.
406       dinput: Use msvcrt memory allocation functions.
407       maintainers: Add hidparse.sys under HID support.
408       maintainers: Replace DirectInput with a Joystick input section.
409       maintainers: Assume maintainership of the Joystick input section.
410       dinput: Only dump the HID report data that has been read.
411       winebus.sys: Do not parse bluetooth "PRODUCT=" uevent field.
412       dinput8/tests: Add some more polled read tests.
413       hidclass.sys: Re-read the poll timeout on every iteration.
414       hidclass.sys: Don't queue reports in polled mode.
415       dinput: Fix invalid use of post-incremented device_count value.
416       dinput: Factor all GetDeviceInfo implementations together.
417       dinput: Factor all GetCapabilities implementations together.
418       dinput: Factor all BuildActionMap wrappers together.
419       dinput: Factor all SetActionMap wrappers together.
420       dinput: Move mouse (Un)Acquire functions around.
421       dinput: Factor all (Un)Acquire implementations together.
422       dinput: Introduce new dinput_device_internal_unacquire helper.
423       dinput: Wait for the internal thread to complete unacquiring.
424       dinput: Correctly parse instance numbers for joystick semantics.
425       hidparse.sys: Ignore unknown item types, rather than failing.
426       dinput8/tests: Remove old packet report id checks in HID driver.
427       joy.cpl: Consistently use the 32 buttons limit from DIJOYSTATE.
428       joy.cpl: Better handle effect creation errors.
429       winebus.sys: Fix inverted SDL joystick hat switch y axis.
430       dinput: Add support for more HID axes usages.
431       dinput8/tests: Add mouse and keyboard object enumeration tests.
432       dinput: Introduce new direct_input_device_init helper.
433       dinput: Implement EnumObjects through the internal vtable.
434       dinput: Implement internal enum_objects for the mouse device.
435       dinput: Implement internal enum_objects for the keyboard device.
436       dinput: Factor all GetObjectInfo implementations together.
437       winebus.sys: Define BUS_BLUETOOTH if it is missing.
438       winebus.sys: Only use SDL_JoystickRumble as a fallback.
439       winebus.sys: Process quirky DS4 bluetooth reports.
440       dinput: Use object instance offset to access extra value caps.
441       dinput: Factor all GetProperty implementations together.
442       dinput: Implement GetProperty with DIPROP_FFGAIN stub.
443       dinput: Use the base device state in the mouse device.
444       dinput: Use the base device state in the keyboard device.
445       dinput: Factor all SetProperty implementations together.
446       dinput: Factor object enumeration checks and offset mapping.
447       dinput: Factor all Poll implementations together.
448       dinput: Check for mouse warping in the poll callback.
449       dinput: Factor all GetDeviceState implementations together.
450       dinput: Add a release callback for internal refcount handling.
451       dinput: Replace stub EnumEffects with generic implementation.
452       dinput: Use the internal vtable for GetEffectInfo.
453       dinput: Move GetForceFeedbackState stub to device.c.
454       dinput: Move CreateEffect generic implementation to device.c.
455       dinput: Move SendForceFeedbackCommand generic code to device.c.
456       dinput: Move EnumCreatedEffectObjects checks to device.c.
457       winebus.sys: Prefer USAGE_AND_PAGE over BYTE arrays.
458       winebus.sys: Count all absolute axes.
459       winebus.sys: Map REL_HWEEL to HID_USAGE_GENERIC_SLIDER.
460       winebus.sys: Map SDL joystick axes the same way as UDEV evdev.
461       dinput: Set high DIK bit for extended scancodes.
462       dinput: Cleanup mouse device enumeration and creation.
463       dinput: Cleanup keyboard device enumeration and creation.
464       dinput: Factor all IDirectInputDevice8W vtables together.
466 Simon McVittie (2):
467       winebus.sys: Treat udev actions other than "remove" as "add".
468       winebus.sys: Add code path to bypass udevd and use inotify.
470 Ted Lyngmo (1):
471       ucrtbase: Add support for x mode in fopen.
473 Tim Clem (5):
474       winemac.drv: Simplify cursor clipping code paths.
475       winemac.drv: Stop cursor clipping when the app deactivates.
476       winemac.drv: Stop cursor clipping when a window is resized by dragging.
477       winemac.drv: Stop cursor clipping when all windows are minimized.
478       winemac.drv: Remove extraneous CGEventTapIsEnabled check.
480 Zebediah Figura (30):
481       server: Zero-initialize rawinput_message structures before passing them to queue_rawinput_message() (Valgrind).
482       server: Avoid touching the poll_req structure after calling async_request_complete() (Valgrind).
483       wined3d: Return the map pitch from wined3d_device_context_emit_map().
484       wined3d: Return the map pitch from the map_upload_bo() callbacks.
485       wined3d: Move the "users" field to a common wined3d_bo structure.
486       wined3d: Move the "memory_offset" field from struct wined3d_bo_vk to struct wined3d_bo.
487       wined3d: Omit GL_MAP_FLUSH_EXPLICIT_BIT for incoherent maps when ARB_MAP_BUFFER_RANGE is used.
488       wined3d: Move the "coherent" field from struct wined3d_bo_gl to struct wined3d_bo.
489       wined3d: Move the "map_ptr" field from struct wined3d_bo_vk to struct wined3d_bo.
490       wined3d: Handle NOOVERWRITE maps on persistently mapped Vulkan buffers from the client thread.
491       kernel32/tests: Add a couple of tests for error handling when reading past EOF.
492       include: Fix the type of the "output" parameter of IWMReaderAllocatorEx::AllocateForOutputEx().
493       include: Add IWMGetSecureChannel.
494       include: Add IWMIStreamProps.
495       include: Add IWMReaderCallbackAdvanced.
496       include: Add IWMCredentialCallback.
497       include: Add INSSBuffer3.
498       wined3d: Fully initialize the allocator structure in wined3d_allocator_init().
499       d3d10core/tests: Test deleting a stream output buffer immediately after drawing into it.
500       d3d11/tests: Test deleting a stream output buffer immediately after drawing into it.
501       winegstreamer: Move the IWMProfile3 implementation to a separate object.
502       winegstreamer: Use the wm_reader object for the synchronous reader as well.
503       wmvcore/tests: Sort interface tests.
504       winegstreamer: Move the IWMHeaderInfo3 implementation to the wm_reader object.
505       winegstreamer: Move the IWMLanguageList implementation to the wm_reader object.
506       winegstreamer: Move the IWMPacketSize2 implementation to the wm_reader object.
507       winegstreamer: Move the IWMReaderPlaylistBurn implementation to the wm_reader object.
508       winegstreamer: Move the IWMReaderTimecode implementation to the wm_reader object.
509       quartz: Use the performance counter for the system clock.
510       quartz: Avoid accessing the advise_sink structure after it is queued.
512 Zhiyi Zhang (19):
513       Revert "winevdm: Enable visual styles.".
514       appwiz.cpl: Pass size in bytes to RegQueryValueExW().
515       msctf: Set size before calling RegQueryValueExW().
516       msi: Pass size in bytes to RegQueryValueExW().
517       mshtml: Pass size in bytes to RegQueryValueExW().
518       shell32: Pass size in bytes to RegLoadMUIStringW() and RegQueryValueExW().
519       winemac.drv: Add GPU hardware information values to the registry.
520       winex11.drv: Set hkey to NULL after RegCloseKey() in X11DRV_InitGpu().
521       winemac.drv: Set hkey to NULL after RegCloseKey() in macdrv_init_gpu().
522       comctl32/combo: Invalidate child edit control after painting themed background.
523       uxtheme: Pass size in bytes to RegQueryValueExW().
524       winemac.drv: Pass size in bytes to RegQueryValueExW().
525       winex11.drv: Pass size in bytes to RegQueryValueExW().
526       cmd: Pass size in bytes to RegQueryValueExW().
527       winecfg: Pass size in bytes to RegQueryValueExW().
528       winefile: Set size before calling RegQueryValueExW().
529       user32: Change the position and size of layered windows before flushing their surfaces.
530       uxtheme: Save temporary system metrics to a struct in memory.
531       uxtheme: Check LoadedBefore registry key before loading theme.
534 Alexandre Julliard
535 julliard@winehq.org