ntdll: Move the creation of the initial environment to the Unix library.
[wine.git] / ANNOUNCE
blob120e4c5f0b81e161b1741c27e7027434dcafe46c
1 The Wine development release 5.10 is now available.
3 What's new in this release (see below for details):
4   - More progress on the WineD3D Vulkan backend.
5   - Beginnings of a separate Unix library for NTDLL.
6   - Better support for anti-cheat kernel drivers.
7   - More glyph substitutions in DirectWrite.
8   - Support for DSS private keys.
9   - ARM64 exception handling fixes.
10   - Various bug fixes.
12 The source is available from the following locations:
14   https://dl.winehq.org/wine/source/5.x/wine-5.10.tar.xz
15   http://mirrors.ibiblio.org/wine/source/5.x/wine-5.10.tar.xz
17 Binary packages for various distributions will be available from:
19   https://www.winehq.org/download
21 You will find documentation on https://www.winehq.org/documentation
23 You can also get the current source directly from the git
24 repository. Check https://www.winehq.org/git for details.
26 Wine is available thanks to the work of many people. See the file
27 AUTHORS in the distribution for the complete list.
29 ----------------------------------------------------------------
31 Bugs fixed in 5.10 (total 47):
33    7102  Microsoft Word 6.0 for Windows: copy/paste causes crash on unimplemented function ole2.dll16.OLEISCURRENTCLIPBOARD
34   26171  BVRP classic phone tools installer reports error 'Insufficient buffer' when trying to install print processor (AddPrintProcessorA stub should be symmetric to AddPrintProcessorW)
35   26489  GetKeyState does not work correctly with toggle keys (VK_CAPITAL, VK_NUMLOCK, VK_SCROLL)
36   32483  Windows Sysinternals 'PsInfo' tool fails to retrieve video driver description due to missing registry data for 'Video' device class '{4D36E968-E325-11CE-BFC1-08002BE10318}'
37   33194  Multiple applications ported to WinRT/ARM using MSVCR110.dll require msvcrt.__C_specific_handler
38   34842  Multiple .NET 3.5 apps occasionally fail to run when late-bound 'riched20.dll' prelink address is already occupied and PE mapped into >2 GiB address range (Garmin BaseCamp 4.1.2, GZDoom Builder 2.3)
39   38020  Foxit Reader 6.12 crashes on unimplemented function msasn1.dll.ASN1_CreateModule during validation of digital signatures
40   38587  RF:G is Incredibly Laggy, Then Crashes
41   44115  vcrun2012's vcredist_arm.exe crashes in riched20::isurlneutral()
42   44432  AArch64: assertion fail in alloc_pages_vprot with qemu_aarch64 Ubuntu 16.04
43   44925  Multiple kernel drivers require 'ntoskrnl.exe.ExCreateCallback' stub to return STATUS_SUCCESS (StarForce v3, TrackMania Nations ESWC. Denuvo Anti-Cheat)
44   45536  Total Commander 9.x crashes on unimplemented function usp10.dll.ScriptGetFontAlternateGlyphs when Wine is not detected via named export 'ntdll.wine_get_version'
45   46788  RtlIpv6AddressToStringA is not supported
46   49045  Japanese eroge called Koikatsu crashes after upgrading to Wine 5.7
47   49117  Virtual memory allocation gets slower when large number of views are allocated (We Happy Few)
48   49160  Unity: SystemInfo.deviceUniqueIdentifier always the same under Wine
49   49178  Spitfire Audio 3.x crashes on start due to 'WTSQuerySessionInformationA' stub not initializing out parameters
50   49179  winetest.exe fails to run on windows arm (surface rt / armv7): procedure entry point NtCurrentTeb could not be located in the dynamic link library C:\Users\User\Desktop\winetest.exe
51   49189  Auslogics Registry Cleaner 8.x crashes and shows "OLE error 80004001" (SetCurrentProcessExplicitAppUserModelID stub needs to return S_OK)
52   49194  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' fails to load, needs 'netio.sys' stub driver (Winsock Kernel Sockets API / WSK)
53   49198  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes in entry point (incorrect page protection restored during relocation processing)
54   49208  Wine fails to load explorer.exe or wineboot.exe with status c0000018 (kernelbase.dll mapping exceeds 4 MiB and is loaded in main executable address space)
55   49211  Multiple games and applications crash due to NULL device notification handle passed to 'user32.UnregisterDeviceNotification' (BandLab Cakewalk 2020.04, Glorious Model O control software)
56   49216  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KdRefreshDebuggerNotPresent
57   49217  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KeQueryActiveProcessorCountEx
58   49219  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KeSetSystemAffinityThreadEx
59   49221  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes due to unhandled emulation of MSR register reads related to CPU / virtualization features (returning zero value is sufficient)
60   49222  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KeRevertToUserAffinityThreadEx
61   49224  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.{KeGenericCallDpc,KeSignalCallDpcSynchronize,KeSignalCallDpcDone}
62   49228  Mouse movements are reversed/erratic for multiple games (Gothic 2, The Elder Scrolls V: Skyrim SE; Oblivion, Machinarium)
63   49230  Multiple kernel drivers crash on unimplemented function ntoskrnl.exe.KeSetTimer (Denuvo Anti-Cheat 'denuvo-anti-cheat.sys')
64   49235  Multiple .NET 4.x applications crash with stack overflow in IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements (Microsoft Visual Studio 2010 Express, Win10 SDK installer)
65   49251  Mouse cursor leaves a trail when anti-aliasing enabled (Secret Files 1-2, Fahrenheit, Ufo:Extraterrestrials)
66   49257  Avast Free Antivirus 20.3 crashes before installing due to unimplemented function rpcrt4.dll.RpcIfInqId
67   49262  Heap debugging (WINEDEBUG=+heap) broken since wine-5.7-30-gba1495f7c2
68   49264  MultiSync installation crashes (needs _Command::get/put_CommandText)
69   49267  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' needs support for CustomTimerDpc via ntoskrnl.exe.KeSetTimer{Ex}
70   49272  MultiSync installation crashes (msado15.dll needs {b196b284-bab4-101a-b69c-00aa00341d07} IConnectionPointContainer)
71   49281  FinanceExplorer crashes inside msado15.dll
72   49283  Some win10 run into : err:module:import_dll Library api-ms-win-core-libraryloader-l2-1-0.dll not found
73   49289  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.ExRegisterCallback
74   49291  Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.ExUnregisterCallback when unloading
75   49295  Prefix creation freezes
76   49299  PowerToys for Windows 10 crashes on unimplemented function KERNEL32.dll.GetPackageFamilyName
77   49300  Multiple debuggers/tools from Windows 10 SDK want api-ms-win-downlevel-kernel32-l2-1-0.dll
78   49303  MultiSync installation crashes (msado15.dll needs IConnectionPointContainer::FindConnectionPoint)
79   49305  Sniper Elite V2 (Sniper Elite 3, Zombie Army Trilogy) fails to start on Steam
81 ----------------------------------------------------------------
83 Changes since 5.9:
85 Aaro Altonen (5):
86       msado15: Implement _Command get/put CommandType.
87       msado15: Implement _Command get/put CommandText.
88       msado15: Add IConnectionPointContainer stub to _Connection.
89       msado15: Add IConnectionPoint stub to _Connection.
90       msado15: Implement IConnectionPointContainer_FindConnectionPoint.
92 Akihiro Sagawa (2):
93       gdi32: Handle vertical faces in the fontconfig fallback.
94       gdi32: Add a vertical font replacement if it's a DBCS font.
96 Alex Henrie (12):
97       ntdll: Increase size of IPv6 address string buffers.
98       include: Add RtlIpv4AddressToString(Ex)[AW].
99       include: Add more RTL functions.
100       ntdll/tests: Drop RTL function workarounds for Windows <= 2000.
101       ntdll/tests: Add more RtlIpv6AddressToString tests.
102       ntdll: Implement RtlIpv6AddressToString(Ex)[AW].
103       ws2_32: Reimplement inet_ntop on top of ntdll functions.
104       ws2_32/tests: Put WSAAddressToString tests in tables.
105       ntdll/tests: Make RtlIpv6AddressToString test data static and constant.
106       kernelbase: Add GetPackageFamilyName stub.
107       kernel32/tests: Fix GetNLSVersion test failure on Windows Server 2003.
108       quartz/tests: Fix overflow in 32-bit time calculation.
110 Alexandre Julliard (48):
111       server: Update shared user data timestamps on every request.
112       kernel32: Leave some more space for kernelbase.
113       kernel32: Use set_ntstatus() in more places.
114       ntdll: Implement ProcessImageInformation class in NtQueryInformationProcess().
115       kernel32: Reimplement GetProcessVersion() in kernelbase.
116       kernel32: Reimplement DosDateTimeToFileTime/FileTimeToDosDateTime using ntdll functions.
117       kernel32: Remove actctx.c.
118       kernel32: Remove cpu.c.
119       kernel32: Remove environ.c.
120       kernel32: Remove time.c.
121       kernel32: Remove string.c.
122       ntdll: Fix off-by-one buffer size error.
123       ntdll: Don't call terminate_thread request if not necessary.
124       ntdll: Create user shared data section in the server, and initialize it in wineboot.
125       ntdll: Don't include ntdll_misc.h from the Unix library.
126       ntdll: Move server initialization functions to the Unix library.
127       ntdll: Move fd cache functions to the Unix library.
128       ntdll: Move server call functions to the Unix library.
129       ntdll: Move NtClose() and NtDuplicateObject() to the Unix library.
130       ntdll: Add missing server_init_process_done() call.
131       ntdll: Move the threading initialization functions to the Unix library.
132       ntdll: Use the actual zero_bits parameter in the server requests.
133       ntdll: Move server wait functions to the Unix library.
134       ntdll: Properly reset the stack environment at thread exit on ARM64.
135       ntdll: Move NtSetContextThread() implementation to the Unix library.
136       ntdll: Move NtGetContextThread() implementation to the Unix library.
137       ntdll: Move the virtual memory functions to the Unix library.
138       ntdll: Use the local server_send_fd() function in the Unix library.
139       kernel32: Move SetConsoleCtrlHandler() implementation to kernelbase.
140       ntdll: Move the thread startup code to the Unix library.
141       ntdll: Move the thread creation code to the Unix library.
142       ntdll: Move more of the thread exit code to the Unix library.
143       ntdll: Consolidate some of the init routines into the init_threading() entry point.
144       ntdll: Move mapping of the user shared data to the Unix library.
145       ntdll: Move some wait functions to the Unix library.
146       ntdll: Move the semaphore functions to the Unix library.
147       ntdll: Move the event functions to the Unix library.
148       ntdll: Move the mutex functions to the Unix library.
149       ntdll: Move the timer functions to the Unix library.
150       ntdll: Move the keyed event functions to the Unix library.
151       ntdll: Move the section object functions to the Unix library.
152       ntdll: Move the rest of the thread creation code to the Unix library.
153       ntdll: Implement RtlCreateUserThread() on top of NtCreateThreadEx().
154       ntdll: Use NtCreateThreadEx() for remote thread creation.
155       ntdll: Move NtCreateThreadEx() to the Unix library.
156       ntdll: Move DbgUiIssueRemoteBreakin() to the Unix library.
157       secur32/tests: Update for new WineHQ certificate.
158       wininet/tests: Update for new WineHQ certificate.
160 Alistair Leslie-Hughes (1):
161       include/ddk: Add wsk.h file.
163 Anton Baskanov (11):
164       amstream: Don't crash if parent is NULL in AMAudioStream:: and AMDirectDrawStream::GetMultiMediaStream.
165       amstream: Move initialization code from audio_stream_create into AMAudioStream::Initialize and ::JoinAMMultiMediaStream.
166       amstream: Move initialization code from ddraw_stream_create into AMDirectDrawStream::Initialize and ::JoinAMMultiMediaStream.
167       amstream: Move initialization calls from *_stream_create into AMMultiMediaStream::AddMediaStream.
168       amstream: Allow AMAudioStream and AMDirectDrawStream to be created by CoCreateInstance.
169       amstream: Add tests for IAMMediaStream::Initialize and ::JoinAMMultiMediaStream.
170       amstream: Leave critical section on error in MediaStreamFilter::EnumPins().
171       amstream: Implement AMAudioStream::BeginFlush() and ::EndFlush().
172       amstream: Implement MediaStreamFilter::SupportSeeking().
173       amstream: Implement MediaStreamFilter::SetPositions().
174       amstream: Call MediaStreamFilter::SupportSeeking() in AMMultiMediaStream::OpenFile().
176 Arkadiusz Hiler (2):
177       user32: Move *RegisterDeviceNotification*() to input.c.
178       user32: Fix NULL dereference in UnregisterDeviceNotification.
180 Aurimas Fišeras (2):
181       po: Update Lithuanian translation.
182       po: Update Lithuanian translation.
184 Austin English (1):
185       api-ms-win-downlevel-kernel32-l2-1-0: New dll.
187 Biswapriyo Nath (2):
188       include: Add missing structures in dcommon.idl.
189       include: Add include guard in d2dbasetypes.h.
191 Brendan Shanks (4):
192       winex11.drv: Set GPU LUID property for monitors.
193       winex11.drv: Set output id property for monitors.
194       winemac.drv: Set GPU LUID property for monitors.
195       winemac.drv: Set output id property for monitors.
197 Damjan Jovanovic (2):
198       libwine: Fix a regression in the return value check for mmap() on FreeBSD.
199       ntdll: Reserve the area whenever possible in reserve_area() on FreeBSD.
201 Daniel Lehman (6):
202       vcruntime140_1: Support unwind handler with frame.
203       vcruntime140_1: Change pointer math in decode_uint.
204       vcruntime140_1: Skip unwind if already at last level.
205       vcruntime140_1: Don't terminate on state of -1.
206       vcruntime140_1: Unwind state 0.
207       vcruntime140_1: Don't terminate on -1 trylevel.
209 François Gouget (1):
210       winex11.drv: Avoid using the mailing list address in error messages.
212 Gerald Pfeifer (1):
213       ntdll: Include <stdarg.h> in unix/debug.c.
215 Gijs Vermeulen (6):
216       include: Add cfg.h.
217       wuapi: Add UpdateInstaller coclass.
218       wuapi: Fake success in IUpdateInstaller::get_IsBusy.
219       wtsapi32: Implement WTSQuerySessionInformationA.
220       wtsapi32: Improve WTSQuerySessionInformationW stub.
221       winemac: Cast buffer to const WCHAR* in insert_clipboard_format.
223 Hans Leidekker (8):
224       mountmgr: Return the disk serial from IOCTL_STORAGE_QUERY_PROPERTY(StorageDeviceProperty).
225       wbemprox: Get the disk drive serial number from mountmgr.
226       bcrypt: Implement BCryptDeriveKeyCapi.
227       bcrypt: Add support for BCRYPT_DSA_ALGORITHM.
228       msado15: Fix NULL pointer dereference in close_recordset.
229       bcrypt: Add support for importing and exporting DSS private keys.
230       mountmgr: Fix buffer length check.
231       bcrypt: Handle different sized R/S signature components.
233 Henri Verbeet (39):
234       wined3d: Move the swapchain logo texture blit to wined3d_cs_exec_present().
235       wined3d: Move the swapchain cursor texture blit to wined3d_cs_exec_present().
236       wined3d: Implement occlusion queries for the Vulkan adapter.
237       wined3d: Implement timestamp queries for the Vulkan adapter.
238       wined3d: Implement timestamp disjoint queries for the Vulkan adapter.
239       wined3d: Implement event queries for the Vulkan adapter.
240       wined3d: Implement pipeline statistics queries for the Vulkan adapter.
241       wined3d: Map vkGetPhysicalDeviceFeatures2() to vkGetPhysicalDeviceFeatures2KHR().
242       wined3d: Also load the index buffer in wined3d_context_vk_apply_draw_state() if STATE_INDEXBUFFER was invalidated.
243       wined3d: Use wined3d_buffer_vk_get_buffer_info() when binding the Vulkan index buffer.
244       wined3d: Use wined3d_buffer_vk_get_buffer_info() when binding Vulkan vertex buffers.
245       wined3d: Initialise more caps and limits in wined3d_adapter_vk_init_d3d_info().
246       wined3d: Map Vulkan adapter bo's persistently on 64-bit architectures.
247       wined3d: Move swapchain buffer discarding to wined3d_cs_exec_present().
248       wined3d: Implement swapchains for the Vulkan adapter.
249       wined3d: Wait for the command stream to finish before removing the context in adapter_no3d_uninit_3d().
250       wined3d: Create WINED3D_NO3D swapchain surfaces without GPU access.
251       wined3d: Check for GPU access before attempting an upload blit in texture2d_blt().
252       wined3d: Explicitly check for WINED3D_NO3D instead of "d3d_initialized" in surface_convert_format().
253       wined3d: Set "device->d3d_initialized" in wined3d_device_set_implicit_swapchain().
254       wined3d: Get rid of the "d3d_initialized" check in wined3d_device_reset().
255       wined3d: Get rid of the "d3d_initialized" check in context_resource_released().
256       wined3d: Get rid of the "d3d_initialized" check in device_resource_released().
257       wined3d: Get rid of the "d3d_initialized" check in wined3d_texture_update_map_binding().
258       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in arbfp_blit_supported().
259       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in glsl_blitter_supported().
260       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in ffp_blit_supported().
261       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in wined3d_texture_blt().
262       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in texture2d_blt().
263       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in texture2d_depth_blt_fbo().
264       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in fbo_blitter_blit().
265       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in the FBO cache.
266       wined3d: Use "depth_size" to check for a depth format in resolve_depth_buffer().
267       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in query_internal_format().
268       wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in create_and_bind_fbo_attachment().
269       wined3d: Introduce WINED3DFMT_FLAG_DEPTH_STENCIL.
270       wined3d: Clear WINED3DFMT_FLAG_DEPTH_STENCIL if the format is not supported as FBO attachment.
271       wined3d: Reference the back buffer in wined3d_swapchain_vk_blit().
272       wined3d: Partially implement adapter_vk_clear_uav().
274 Huw D. M. Davies (3):
275       ntdll: Use the correct size when the read spans a page boundary.
276       ntdll: Remove unnecessary page variable.
277       bcrypt: Add stubs for DSS private key functions on macOS.
279 Jacek Caban (41):
280       rpcndr.h: Avoid error_status_t redefinition.
281       winegcc: Store main arguments in strarray.
282       winegcc: Add support for @file arguments.
283       winegcc: Add support for -Wl,--whole-archive option.
284       setjmp.h: Use __intrinsic_setjmpex when using ucrt.
285       winnt.h: Provide inline NtCurrentTeb implementation for mingw arm builds.
286       dmusic/tests: Introduce compare_time helper.
287       kernel32/tests: Remove workaround for NT4.
288       kernel32/tests: Avoid using abs on ULONGLONG values.
289       wintab32: Fix -Wabsolute-value warning.
290       taskmgr: Introduce size_diff helper.
291       d3d9/tests: Use int for indexes in generate_bumpmap_textures.
292       mshtml: Use return_nsstr_variant in HTMLTable_get_width.
293       mshtml: Add IHTMLTableCell::height property implementation.
294       mshtml: Add IHTMLTableCell::width property implementation.
295       gdiplus/tests: Introduce compare_uint helper.
296       ieframe: Return S_FALSE in IWebBrowser2::get_Document when returning NULL.
297       gdiplus: Introduce absdiff helper.
298       quartz/tests: Fix -Wabsolute-value warnings.
299       jscript: Support ES5 Array.prototype.sort arguments handling.
300       jscript: Support context argument in Array.prototype.forEach.
301       jscript: Throw proper exception in RegExp.prototype.toString when called on non-RegExp object.
302       mshtml/tests: Introduce sync_test helper.
303       winmm/tests: Introduce compare_uint helper.
304       winmm: Introduce compare_uint helper.
305       configure: Enable -Wabsolute-value on cross compiler.
306       jscript: Inline add_eval implementation.
307       jscript: Don't realloc interpreter stack.
308       jscript: Throw proper stack overflow exception.
309       mshtml/tests: Improve tests exception handling.
310       jscript: Add Object.keys implementation.
311       jscript: Use wide string literals in array.c.
312       jscript: Add Array.prototype.reduce implementation.
313       jscript: Support passing non-string pattern to RegExp constructor.
314       jscript: Support passing non-string flags to RegExp constructor.
315       jscript: Add Object.preventExtensions semi-stub implementation.
316       mshtml: Use return_nsstr_variant in IHTMLBodyElement::get_bgColor.
317       mshtml: Use default white value in IHTMLDocument2::get_bgColor.
318       mshtml: Add IHTMLCSSStyleDeclaration2::transform property implementation.
319       mshtml: Add IHTMLCSSStyleDeclaration2::animationName property implementation.
320       mshtml: Add IHTMLCSSStyleDeclaration2::transition property implementation.
322 Ken Thomases (1):
323       winemac: Fix a string format warning for tick counts in update_clipboard().
325 Liam Middlebrook (1):
326       winevulkan: Update to VK spec version 1.2.142.
328 Louis Lenders (5):
329       usp10: Add stub for ScriptGetFontAlternateGlyphs.
330       api-ms-win-core-libraryloader-l2-1-0: Add new dll.
331       api-ms-win-core-memory-l1-1-4: Add new dll.
332       api-ms-win-core-localization-l1-2-2: Add new dll.
333       explorerframe: Return S_OK in ITaskbarList::SetOverlayIcon.
335 Martin Storsjo (12):
336       configure: Pass -fasynchronous-unwind-tables to the compiler.
337       ntdll: Fix handling of the save_lrpair unwind opcode.
338       ntdll: Fix byte vs register units in unwind_packed_data.
339       ntdll: Pass a nonnull handler_data in when continuing after a collided unwind.
340       ntdll: Store the real stack pointer in RtlCaptureContext.
341       ntdll: Fix unwinding functions that end with a branch instruction.
342       wine/asm.h: Use __ASM_CFI on clang too, despite not defining __GCC_HAVE_DWARF2_CFI_ASM.
343       ntdll: Implement RtlRestoreContext.
344       ntdll: Keep the previous iteration of NonVolatileRegisters in call_function_handlers.
345       ntdll: Fix unwinding through raise_generic_exception.
346       ntdll: Implement RtlRaiseException in assembly to fix continuing from exceptions.
347       wine/asm.h: Don't define __ASM_CFI when using clang as cross compiler.
349 Matteo Bruni (3):
350       ntdll: Use memcpy() in set_float_reg().
351       user32: Add missing WM_WINE_CLIPCURSOR message type name.
352       user32: Make sure update_window_state() is always executed on the owner thread.
354 Nikolay Sivov (68):
355       dwrite: Fix array indexing when merging features.
356       dwrite: Set glyph class for all initial glyphs.
357       dwrite: Set glyph class properties when applying GPOS.
358       dwrite: Use prefetched glyph class to match with lookup mask.
359       dwrite: Simplify single substitution helper.
360       include: Add IMFMediaEngineEx definition.
361       mfplat: Add Media Engine attributes to tracing.
362       include: Add CResamplerMediaObject class id.
363       dwrite: Update glyph properties on single substitution.
364       dwrite: Only enable single substitution lookups for chained substitution.
365       dwrite: Use temporary buffers for GetGlyphs().
366       dwrite: Prefetch all lookup entry fields when collecting them.
367       dwrite: Use global cursor to glyph array for substitutions.
368       dwrite: Reference currently used layout table in context.
369       dwrite: Handle extension substitution (GSUB lookup 7).
370       dwrite: Implement alternate substitution (GSUB lookup 3).
371       dwrite: Use cluster map to apply use feature ranges.
372       dwrite: Mark some of default ignorables as ZWS.
373       dwrite: Keep text properties zero initialized.
374       dwrite: Use GPOS handlers for subtables, not whole lookups.
375       dwrite: Implement multiple substitution (GSUB lookup 2).
376       dwrite: Update glyph component count on multiple substitution.
377       dwrite: Add stub handler for ligature substitution.
378       include: Add Media Engine events constants.
379       mfmediaengine/tests: Use global factory instance.
380       mfmediaengine/tests: Add some tests for shutdown state.
381       mfmediaengine: Add shut down state.
382       mfmediaengine: Keep auto-play flag.
383       mfmediaengine: Keep loop flag.
384       dwrite: Simplify glyph properties helpers by using current glyph buffer.
385       dwrite: Implement mark glyph filtering.
386       dwrite/tests: Enable glyph class tests on Wine.
387       dwrite: Add matching callback support for iterators.
388       dwrite: Use iterator matching for chain substitution.
389       dwrite: Implement chaining contextual substitution of format 1.
390       dwrite: Implement chaining contextual substitution of format 2.
391       mfmediaengine: Create media session instance.
392       mfmediaengine: Send "play" event on Play().
393       mfmediaengine: Send "pause" event on Pause().
394       dwrite: Fix lookup collection when no suitable script was found.
395       dwrite: Add properties for recently added scripts.
396       dwrite: Implement contextual subsitution (GSUB lookup 5).
397       dwrite: Fix offsets when stepping through chain rule fields.
398       dwrite: Add main loop variant for reverse substitution.
399       mfmediaengine: Send "ratechange" event for both default and playback rate changes.
400       mfmediaengine: Send "volumechange" event on muted state change.
401       mfmediaengine: Send "volumechange" event on volume change.
402       mfmediaengine: Propagate error out on missing callback attribute.
403       mfmediaengine: Duplicate configuration attributes.
404       mfmediaengine: Forward buffering events to user callback.
405       mf/session: Handle source buffering events.
406       dwrite: Implement reverse chain contextual substitution (GSUB lookup 8).
407       dwrite: Use lookup fitering for context matching.
408       dwrite: Include required feature when collecting lookups.
409       dwrite: Enable lookups from non-global features too.
410       dwrite: Partially implement GetBaseline().
411       include: Add more Media Foundation error codes.
412       mfmediaengine: Set media type flags on source resolution.
413       mfmediaengine: Set presentation duration attribute.
414       mfmediaengine/tests: Add some tests for error property.
415       mfmediaengine: Implement error object.
416       mfmediaengine: Implement error property.
417       mfmediaengine: Fully initialize error state.
418       mfmediaengine: Implement GetCurrentSource().
419       mfmediaengine: Update ready state property during resolution.
420       mfmediaengine: Set up audio output branch.
421       dwrite: Fix global feature mask to match its shift.
422       dwrite: Use correct glyph array offset for alternate substitution table output.
424 Paul Gofman (50):
425       ntoskrnl.exe: Add KdRefreshDebuggerNotPresent() function.
426       include/ddk: Add prototype for KeQueryActiveProcessors().
427       include: Add prototype for GetActiveProcessorCount().
428       ntoskrnl.exe: Add KeQueryActiveProcessorCountEx() function.
429       include/ddk: Fix struct _KUSER_SHARED_DATA definition.
430       ntdll: Fill ActiveProcessorCount field in _KUSER_SHARED_DATA.
431       ntdll: Fill ActiveGroupCount field in _KUSER_SHARED_DATA.
432       ntoskrnl.exe: Return zero for unknown msr registers.
433       ntoskrnl.exe: Fix KeQueryActiveProcessors() function.
434       ntoskrnl.exe: Add KeSetSystemAffinityThreadEx() function.
435       ntoskrnl.exe: Implement KeSetSystemAffinityThread() function.
436       ntoskrnl.exe: Implement KeRevertToUserAffinityThreadEx() function.
437       ntoskrnl.exe: Implement KeRevertToUserAffinityThread() function.
438       ntoskrnl.exe: Import KeGetCurrentProcessorNumber() function.
439       ntoskrnl.exe: Add KeSignalCallDpcDone() function.
440       ntoskrnl.exe: Add KeGenericCallDpc() function.
441       ntoskrnl.exe: Add KeSignalCallDpcSynchronize() function.
442       ntoskrnl.exe/tests: Add basic test for DPC call.
443       wined3d: Use a single wined3d_texture_is_full_rect() function.
444       wined3d: Prepare/load the destination resource location in glsl_blitter_blit().
445       wined3d: Allow multisample destination locations for all colour blits.
446       wined3d: Allow multisample source locations for all colour blits.
447       ntoskrnl.exe: Partially implement KeInitializeDpc() function.
448       ntoskrnl.exe: Add KeSetTimer() function.
449       ntoskrnl.exe: Reimplement KeSetTimerEx() on top of thread pool.
450       ntoskrnl.exe: Avoid leaking events on multipe KeSetTimerEx() calls.
451       ntoskrnl.exe: Cancel active timer before setting it.
452       ntoskrnl.exe: Support DPCs with timers.
453       ntoskrnl.exe/tests: Add more timer tests.
454       ntoskrnl.exe: Fix ObRegisterCallbacks() function parameter definition.
455       ntoskrnl.exe: Return STATUS_SUCCESS from ExCreateCallback() stub.
456       ntoskrnl.exe: Add stub for ExRegisterCallback() function.
457       ntoskrnl.exe: Add stub for ExUnregisterCallback() function.
458       ntoskrnl.exe: Implement IoReuseIrp() function.
459       include/ddk: Update the IMAGE_INFO structure.
460       ntoskrnl.exe: Implement image load notify routines registration.
461       include: Add RTL_QUERY_REGISTRY_TYPECHECK defines.
462       ntoskrnl.exe: Call load image notify routines for driver modules.
463       ntoskrnl.exe: Implement PsGetProcessSectionBaseAddress() function.
464       ntoskrnl.exe: Zero copied size in MmCopyVirtualMemory() stub.
465       include/ddk: Add _KAPC_STATE structure definition.
466       ntoskrnl.exe: Add stub for KeStackAttachProcess().
467       ntoskrnl.exe: Add stub for KeUnstackDetachProcess().
468       ntoskrnl.exe/tests: Add a test for accessing process memory.
469       ntoskrnl.exe/tests: Avoid race condition in test driver.
470       netio.sys: Add driver stub.
471       netio.sys: Add stub for WskRegister().
472       netio.sys: Add stub for WskDeregister().
473       netio.sys: Add stub for WskCaptureProviderNPI().
474       netio.sys: Add stub for WskReleaseProviderNPI().
476 Rémi Bernon (9):
477       ntdll: Introduce free_ranges indexing sequence.
478       ntdll: Use the free ranges in find_reserved_free_area.
479       d3d10core: Directly call DXGID3D10CreateDevice().
480       d3d11: Stop advertising the ID3D10Device interface on devices created by d3d11.
481       crypt32/tests: Fix signed integral cast warning.
482       dxgi/tests: Fix signed integral cast warning.
483       sxs: Fix uninitialized variable warning.
484       msvcirt/tests: Fix signed integral cast warning.
485       msvcp120/tests: Fix signed integral cast warning.
487 Serge Gautherie (3):
488       advpack: RegQueryValueExW() wants bytes, not chars.
489       shlwapi: RegQueryValueExW() wants bytes, not chars.
490       mscoree: RegQueryValueExW() wants bytes, not chars.
492 Thomas Faber (1):
493       ntdll/tests: Fix a test failure on Server 2003.
495 Torge Matthies (1):
496       joy.cpl: Fix pulsing buttons in joystick button state display.
498 Vijay Kiran Kamuju (4):
499       msasn1: Add stub for ASN1_Decode function.
500       include: Add missing enum, function and packing to msasn1.h.
501       ole2.dll16: Add stub OleIsCurrentClipboard function.
502       winspool.drv: Implement AddPrintProcessorA via AddPrintProcessorW.
504 Zebediah Figura (23):
505       amstream: Simplify flush_receive_queue() a bit.
506       amstream: Don't duplicate IMediaStream method implementations.
507       quartz/vmr9: Fake success from IVMRMixerConrol9::SetMixingPrefs().
508       quartz/vmr9: Use TRACE for some implemented methods.
509       quartz/vmr9: Don't query for IVMRSurfaceAllocatorEx9.
510       quartz/vmr9: Don't expose IVMRSurfaceAllocatorEx9 from the default presenter.
511       quartz/vmr9: Remove the unused "allocator_mon" field.
512       quartz/vmr9: Get rid of CreateRenderingWindow().
513       quartz/vmr9: Trace argument values instead of omitting them.
514       d3dcompiler: Store derefs as an offset to a variable.
515       d3dcompiler: Rename HLSL_IR_DEREF to HLSL_IR_LOAD.
516       d3dcompiler: Store some builtin types in the hlsl_ctx structure.
517       d3dcompiler: Don't add a record deref to the instruction list twice.
518       d3dcompiler: Create assignment instructions more directly in struct_var_initializer().
519       d3dcompiler: Pass the semantic and location parameters to new_func_decl().
520       d3dcompiler: Also check the type class when checking for void.
521       d3dcompiler: Write to the function return value using a separate instruction.
522       amstream/tests: Define and use a global variable holding an audio media type.
523       d3dcompiler: Fix up the swizzle data type when unwrapping it from the assignment LHS.
524       d3dcompiler: Remove a redundant check for writemasks on non-numeric types.
525       d3dcompiler: Coerce the RHS before unwrapping swizzles.
526       d3dcompiler: Fix matrix dimension declaration for matrix<...> syntax.
527       d3dcompiler: Use hlsl_report_message() where possible.
529 Zhipeng Zhao (1):
530       wlanapi: Add WlanQueryInterface stub implementation.
532 Zhiyi Zhang (6):
533       user32: Handle NULL device and mode parameters in ChangeDisplaySettingsExW().
534       winex11.drv: Fake success for changing non-primary adapter settings.
535       winemac.drv: Fake success for changing non-primary adapter settings.
536       user32: Fake success for detaching adapters.
537       ddraw: Get new window size from the primary output after display mode changes.
538       rpcrt4: Implement RpcIfInqId().
540 Ziqing Hui (10):
541       windowscodecs: Get DDS parameters when initialize.
542       windowscodecs: Implement DdsDecoder_Dds_GetFrame().
543       windowscodecs: Implement DdsFrameDecode_GetSize().
544       windowscodecs: Check NULL parameters for DdsFrameDecode_GetSize().
545       windowscodecs/tests: Add tests for DdsFrameDecode_Dds_GetFormatInfo().
546       windowscodecs: Implement DdsFrameDecode_Dds_GetFormatInfo().
547       windowscodecs/tests: Add tests for DdsFrameDecode_Dds_GetSizeInBlocks().
548       windowscodecs: Implement DdsFrameDecode_Dds_GetSizeInBlocks().
549       windowscodecs: Add tests for DdsFrameDecode_Dds_CopyBlocks().
550       windowscodecs/tests: Add more tests for DdsFrameDecode_Dds_CopyBlocks().
553 Alexandre Julliard
554 julliard@winehq.org