dwrite/layout: Implement desired orientation get/set methods.
[wine.git] / ANNOUNCE
blob7006cc8571f9575fe56e5b65e0e7f671c2de4dfb
1 The Wine development release 6.1 is now available.
3 What's new in this release (see below for details):
4   - Arabic text shaping.
5   - More WinRT support in WIDL.
6   - VKD3D version 1.2 is used for Direct3D 12.
7   - Support for Rosetta's memory layout on M1 Macs.
8   - Support for Thumb-2 mode on ARM.
9   - Various bug fixes.
11 The source is available from the following locations:
13   https://dl.winehq.org/wine/source/6.x/wine-6.1.tar.xz
14   http://mirrors.ibiblio.org/wine/source/6.x/wine-6.1.tar.xz
16 Binary packages for various distributions will be available from:
18   https://www.winehq.org/download
20 You will find documentation on https://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check https://www.winehq.org/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 6.1 (total 37):
32   17848  Windows Print Preview: Lines drawn have incorrect width
33   21014  Dark Sector no Sound
34   21038  F-Secure BlackLight Engine 2.2.x (Rootkit scanner) crashes after accepting license agreement (Wine on-disk placeholder dlls sections must be padded with data up to section virtual size)
35   30062  Deer Hunter demo: unable to start a new game (map view unusable)
36   30469  Multiple .NET 2.0 applications abort with error 'System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' (SegFlex demo)
37   33349  Add support for 32-bit ARM Thumb-2 Wine build
38   35017  Rollercoaster Tycoon 3 has no music
39   38501  GetClipboardData(CF_UNICODETEXT) - return ANSI
40   39407  LabVIEW 2014 crashes on startup
41   42913  ACAT Dashboard, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes with 'invalid parameter' in 'System.Drawing.Icon.Initialize' (missing support for PNG icons in user32)
42   43408  Quest 5.7.x (.NET 4.0 WPF app) crashes on direct access of MIL4 (Media Integration Layer, wpfgfx_v0400.dll) to internal bitmap struct/class impl (depends on exact layout)
43   45046  Skyrim SE: Shadow artifacts (missing handling of 'precise' shader modifier)
44   48685  Multiple games and applications need D3DX11CompileFromFile implementation
45   48714  mass effect spits error when using mouse fix
46   48790  mfplat:mfplat crashes on Windows 7
47   48870  Aldi (Buhl) Steuer 2019/2020 installer crashes
48   49327  Hearthstone Deck Tracker (with installed dotnet472) does not work with wine-staging 5.9 anymore
49   49484  test_query_process_image_info() test is broken on a not PE build
50   50033  WMI class SystemRestore is missing
51   50194  x64dbg snapshots >= 2020-11-12_05-12 crash on unimplemented function ntdll.dll.NtCreateDebugObject when attaching to process
52   50229  Battle.net launcher sometimes crashes after login (wine-5.22)
53   50256  Animate VST plugin activation doesn't work: wbem_services_ExecQuery gets no network adapters
54   50349  SlingPlayer crashes on launch (needs IDirectXVideoDecoderService)
55   50357  Star Stable Online crashes with unimplemented function dcomp.dll.DCompositionCreateDevice2
56   50376  Banished crashes when Antialiasing set to 3x MSAA with Vulkan renderer
57   50379  The Witcher 3 has broken rendering with Vulkan renderer
58   50386  Sniper Elite V2 some objects aren't rendered with Vulkan renderer
59   50387  Batman: Arkham Origins has broken dynamic shadows with Vulkan renderer
60   50459  Studio One 5 crashes on unimplemented function dcomp.dll.DCompositionCreateDevice
61   50485  Still Life 2 crashes when CSMT is disabled
62   50486  The Sims 3 launcher hangs
63   50494  ID2D1RenderTarget::DrawText(): The position and size of the drawn text is incorrect
64   50508  ACAT Phrase, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes on unimplemented function 'uiautomationcore.dll.UiaRegisterProviderCallback'
65   50515  SofTalk 1.56 doesn't speak continuously after punctuation marks.
66   50525  ws2 _32 fails to build on macOS
67   50549  Some games fail to launch with Vulkan renderer
68   50570  Unknown Debian package and website in README
70 ----------------------------------------------------------------
72 Changes since 6.0:
74 Akihiro Sagawa (6):
75       winmm/tests: Expect TIME_BYTES format for TIME_MS request.
76       winmm: Get rid of TIME_MS format support in waveOutGetPosition().
77       winmm/tests: Strictly test returned time format of waveOutGetPostion().
78       winmm: Get rid of TIME_SMPTE format support in waveOutGetPosition().
79       comdlg32/tests: Add a test for CF_NOSCRIPTSEL.
80       comdlg32: Set DEFAULT_CHARSET if CF_NOSCRIPTSEL is set.
82 Alex Henrie (1):
83       include: Add new LCMAP constants.
85 Alexandre Julliard (37):
86       msvcrt: Don't export fabsf on x86_64.
87       msvcrt: Implement pwctype() functions.
88       msvcrt: Fix some spec file discrepancies.
89       winebuild: Simplify ARM64 import thunks.
90       wordpad: Make qsort callback function cdecl.
91       evr: Make qsort and bsearch callback functions cdecl.
92       winebuild: Generate Thumb2-compatible assembly code on ARM.
93       winebuild: Support non-PIC mode for ARM targets.
94       ntdll: Make inline asm compatible with Thumb-2.
95       ntdll: Support Thumb mode in signal handling.
96       rpcrt4: Make inline asm compatible with Thumb-2.
97       vcomp: Make inline asm compatible with Thumb-2.
98       configure: Default to Thumb-2 mode for ARM.
99       ntdll: Always inline NtCurrentTeb() on ARM.
100       ntdll: Support more Dwarf pointer types.
101       include: Add a couple of dll characteristics.
102       gdi32: Merge rectangles horizontally when possible in CreatePolyPolygonRgn.
103       msvcp: Fix some spec file discrepancies.
104       d3dx9: Fix some spec file discrepancies.
105       winegcc: Pass the same winebuild args to all winebuild invocations.
106       ntdll: Add some more section information data.
107       ntdll: Load the COR header directly from the file handle.
108       ntdll: Check for valid architecture before mapping the module.
109       ntdll: Delay mapping a module until we have found the final one to load.
110       makefiles: Add missing dependency to wrc for test dll resources.
111       ntdll: Set the environment size in the process parameters.
112       ntdll: Fill the image information data also for .so builtins.
113       ntdll: Create a SEC_IMAGE view also for .so builtins.
114       server: Get rid of the exe_file parameter in the new_process request.
115       server: Rename debug_ctx to debug_obj.
116       ntdll: Implement NtCreateDebugObject().
117       server: Allocate handles only when returning the debug event to the client.
118       server: Don't store the debugger thread in debug events.
119       server: Store a debug object instead of a debugger thread in the process.
120       ntdll: Implement DbgUiGet/SetThreadDebugObject().
121       ntdll: Implement DbgUiConnectToDbg().
122       ntdll: Support the NtCreateDebugObject() flags.
124 Alistair Leslie-Hughes (5):
125       msado15: Only support put CursorLocation on Closed Recordset.
126       msado15: Support ADOConnectionConstruction15 on _Connection interface.
127       msado15: Implement ADOConnectionConstruction15 get_Session.
128       dsound: IDirectSoundBuffer8 GetStatus return DSBSTATUS_LOCSOFTWARE for deferred buffers.
129       include: Add more sal.h macros.
131 Arkadiusz Hiler (1):
132       hidclass.sys: Calculate correct bitCount for vendor-specific 1 bit repeated elements.
134 Biswapriyo Nath (1):
135       propkey.h: Added more PROPERTYKEY declarations.
137 Brendan Shanks (4):
138       winemac.drv: Use Metal to get a display's GPU info if possible.
139       winemac.drv: Handle non-PCI GPUs correctly.
140       loader: On Mac, move the top-down allocations area down to avoid Rosetta regions.
141       loader: On Mac, reserve an area starting at 4GB to force Rosetta's allocations higher.
143 Byeong-Sik Jeon (1):
144       gdi32: Preserve the GGO_UNHINTED bits until used.
146 Damjan Jovanovic (2):
147       mmsystem: Win16 DllEntryPoint uses HINSTANCE16, not HINSTANCE.
148       secur32: Implement the SECPKG_ATTR_UNIQUE_BINDINGS context attribute.
150 Daniel Lehman (3):
151       ntdll/tests: Add tests for semaphores.
152       ntdll/tests: Fix error messages for mutant test.
153       ntdll: Check event type on creation.
155 Derek Lesho (2):
156       winegstreamer: Correct mistaken enum value in ProcessMessage.
157       winegstreamer: Reformat type-setting functions to prevent the need for a conditionally initialized variable.
159 Dmitry Timoshkov (5):
160       shell32: Return S_OK from IShellLink::SetFlags() stub.
161       wbemprox: Add class SystemRestore stub implementation.
162       wbemprox: Flesh out a bit SystemRestore::Enable() implementation.
163       gdi32: Avoid best fit chars when mapping unicode character to a glyph index.
164       msi: Also set "MsiRunningElevated" installer property.
166 Floris Renaud (3):
167       po: Update Dutch translation.
168       documentation: Change obsolete Debian and Red Hat packages.
169       documentation: Add Dutch README translation.
171 Georg Lehmann (6):
172       winevulkan: Skip extensions that require a skipped extension.
173       winevulkan: Update to VK spec version 1.2.166.
174       winevulkan: Wrap VkSurfaceKHR in winevulkan.
175       winevulkan: Unwrap VkSurfaceKHR if required.
176       winevulkan: Don't advertise VK_EXT_headless_surface.
177       winevulkan: Fix surface functions if they aren't called by winevulkan.
179 Giovanni Mascellani (1):
180       winegstreamer: Wait on error conditions when initializing GStreamer.
182 Hans Leidekker (8):
183       wldap32: Properly initialize the context in ldap_sslinitW.
184       winhttp: Avoid a crash when the connection is closed while handling a redirect.
185       ws2_32: Avoid returning duplicate entries from WS_getaddrinfo.
186       ws2_32: Fix buffer size query in WSAAddressToStringW.
187       wbemprox: Implement Win32_NetworkAdapter.GUID.
188       wbemprox/tests: Add tests for Win32_NetworkAdapter/Configuration.
189       wbemprox: Handle escaped backslashes in LIKE queries.
190       wbemprox: Implement Win32_NetworkAdapter.ServiceName.
192 Haoyang Chen (2):
193       dwrite/layout: Handle NULL format in CreateEllipsisTrimmingSign().
194       d2d1: Fix text position in DrawText().
196 Henri Verbeet (22):
197       wined3d: Use glFinish() for synchronisation when cleaning up a destroyed context in wined3d_context_gl_cleanup().
198       wined3d: Get rid of the destination offset in wined3d_texture_vk_upload_data().
199       wined3d: Cleanup the staging bo on an error path in wined3d_texture_vk_upload_data().
200       wined3d: Handle UNORM/SNORM as FLOAT in shader_glsl_append_dst_ext().
201       wined3d: Handle UNORM/SNORM as FLOAT in shader_glsl_sprintf_cast().
202       wined3d: Also trace memory types in adapter_vk_init_driver_info().
203       wined3d: Implement the "precise" flag in the GLSL shader backend.
204       wined3d: Get rid of the "UseGLSL" setting.
205       ddraw: Use BitBlt() for exclusive mode frontbuffer updates if the swapchain window is not in the foreground.
206       wined3d: Introduce wined3d_context_vk_reference_resource().
207       wined3d: Add some barriers between resource usage on different bind points.
208       wined3d: Properly convert Vulkan sample count format information.
209       wined3d: End the current render pass in wined3d_buffer_vk_barrier().
210       wined3d: Always include any depth/stencil attachment in the Vulkan framebuffer.
211       wined3d: Stencil test also uses the depth/stencil buffer.
212       wined3d: Correct the argument order of a FIXME in wined3d_texture_vk_download_data().
213       wined3d: Require VK_KHR_sampler_mirror_clamp_to_edge for WINED3D_TADDRESS_MIRROR_ONCE.
214       wined3d: Implement NULL constant buffer views for the Vulkan backend.
215       d3d12: Implement D3D12SerializeVersionedRootSignature() on top of vkd3d_serialize_versioned_root_signature().
216       d3d12: Implement D3D12CreateVersionedRootSignatureDeserializer().
217       d3d12: Request VKD3D_API_VERSION_1_2.
218       wined3d: Trace the available Vulkan extensions.
220 Jacek Caban (14):
221       jscript: Return DateInstance from create_date.
222       jscript/tests: Add VT_DATE handling tests.
223       jscript: Support VT_DATE to number conversion.
224       jscript: Support VT_DATE to string conversion.
225       jscript: Support VARIANT type in jsval_strict_equal.
226       ntdll: Honour alertable argument in NtContinue.
227       winnt.h: Fix MSVC variants of InterlockedIncrement16 and InterlockedDecrement16.
228       ntdll/tests: Don't assume 32-bit test module base.
229       jscript: Add VT_CY type support.
230       winebuild: Make mingw a separated platform from msvc.
231       mshtml/tests: Use more winetest.js helpers in documentmode.js.
232       mshtml: Implement IHTMLCSSStyleDeclaration2::animation property.
233       mshtml: Make xhr.open async argument optional in IE9+ mode.
234       ieframe: Implement SetQueryNetSessionCount.
236 Jactry Zeng (3):
237       d2d1: Limit source rectangle to the actual size for ID2D1RenderTarget_DrawBitmap().
238       d2d1: Skip empty source rectangle for ID2D1RenderTarget_DrawBitmap().
239       d2d1: Partially implement d2d_device_context_DrawImage().
241 Jan Sikorski (1):
242       winemac.drv: Include depth32+stencil pixel formats in enumeration.
244 Jeff Latimer (1):
245       ws2_32: Do not print an ERR message when returning WSAEWOULDBLOCK from WSAIoctl().
247 Liam Middlebrook (2):
248       winevulkan: Skip commands which are declared but not defined.
249       winevulkan: Update to VK spec version 1.2.168.
251 Martin Storsjo (2):
252       include: Don't use __attribute__((pcs("aapcs-vfp"))) when building in PE mode.
253       msvcrt: Fix reading BOM-less files opened with ccs=unicode.
255 Michael Stefaniuc (2):
256       ddraw: Remove superfluous cast to self.
257       d2d1/tests: Remove superfluous cast to self.
259 Nikolay Sivov (42):
260       mf: Add a helper to get associated topology node object.
261       dcomp: Add DCompositionCreateDevice2().
262       dcomp: Add DCompositionCreateDevice() stub.
263       dwrite: Set lookup flags for joiners.
264       dwrite: Propagate joiners mode to iterators.
265       dwrite: Use joiner modes for matching.
266       dwrite: Set joiners mode for gsub case.
267       dwrite: Use table access helpers for reading names.
268       dxva2: Add IDirectXVideoDecoderService stub.
269       d2d1: Pass zeros as text layout size for inverted rectangles in DrawText().
270       dwrite/layout: Fail to create layouts with negative size.
271       ntdll/tests: Remove skips on missing ntdll.dll.
272       dwrite: Fix feature mask for non-global features.
273       dwrite: Zero-initialize run analysis object structure.
274       gdi32/uniscribe: Merge Arabic joining types C and D.
275       gdi32/uniscribe: Get rid of shaping group values in Arabic shaping data table.
276       make_unicode: Make it explicit what other default joining type is.
277       make_unicode: Remove unused variable.
278       dwrite: Zero initialize font data structure.
279       dwrite/tests: Add some tests for text format properties.
280       dwrite: Add font set builder stub.
281       dwrite: Set script id in shaping context.
282       dwrite: Add a stub Arabic shaper.
283       dwrite/arabic: Mark some features for fallback.
284       dwrite: Mark features that were not found.
285       dwrite: Add per shaping stage functions.
286       dwrite: Call stage function for substitution loop.
287       dwrite/arabic: Set per-glyph action.
288       dwrite/arabic: Set per-glyph mask.
289       dwrite/shape: Fix iterator skipping logic on ignorable characters.
290       mfmediaengine: Return current session time in GetCurrentTime().
291       mfmediaengine: Add partial implementation of a time range object.
292       mfmediaengine: Return full presentation range in GetBuffered().
293       mf/sar: Release pending items when audio client is released.
294       mf/sar: Handle shutdown state in rendering callback.
295       mf/tests: Use interface check helper more.
296       mfmediaengine: Use presentation clock interface from the session.
297       mfmediaengine: Use existing helper to update engine state flags.
298       mfmediaengine: Set "ended" state when session presentation ends.
299       mfmediaengine: Force returned playback position after presentation ends.
300       mfmediaengine: Use consistent format for traces.
301       mf/session: Add a stub for IMFTopologyNodeAttributeEditor.
303 Paul Gofman (20):
304       d3d9/tests: Add more tests for shader validator.
305       dbghelp: Fix unwind opcodes on x64.
306       dbghelp: Support UWOP_PUSH_MACHFRAME on x64.
307       bcrypt: Introduce export_gnutls_datum() helper and use it in export_gnutls_pubkey_rsa().
308       bcrypt: Pad exported datums in export_gnutls_pubkey_ecc().
309       bcrypt: Pad exported datums in export_gnutls_pubkey_dsa().
310       bcrypt: Pad exported datums in export_gnutls_pubkey_dsa_capi().
311       bcrypt: Pad exported datums in key_export_ecc().
312       bcrypt: Pad exported datums in key_export_dsa_capi().
313       bcrypt: Fix padding in format_gnutls_signature().
314       ws2_32: Reimplement SIO_GET_INTERFACE_LIST on top of GetIpAddrTable().
315       ws2_32: Use if_nameindex() instead of SIOCGIFNAME.
316       msvcrt: Add -norelay flag to lldiv definition in spec files.
317       iphlpapi: Mark adapter addresses as DNS eligible when interface has a gateway.
318       windowscodecs: Add IWICMetadataBlockWriter stub interface.
319       windowscodecs: Add IWICMetadataBlockWriter stub interface for Gif encoder.
320       windowscodecs/tests: Add test for metadata writer.
321       windowscodecs: Add IWICMetadataQueryWriter stub interface.
322       windowscodecs: Implement CommonEncoderFrame_GetMetadataQueryWriter().
323       windowscodecs: Return correct error codes from BmpFrameEncode_GetMetadataQueryWriter().
325 Piotr Caban (2):
326       crypt32: Also import user/admin defined root certificates on macOS.
327       msvcrt: Improve memmove performance on i386 and x86_64 architectures.
329 RĂ©mi Bernon (36):
330       d2d1/tests: Check for d2d1 math functions presence.
331       d2d1/tests: Introduce init_test_context().
332       d2d1/tests: Create a window in init_test_context_().
333       d2d1/tests: Create a swapchain in init_test_context_().
334       d2d1/tests: Retrieve the swapchain back-buffer in init_test_context_().
335       d2d1/tests: Create a Direct2D render target in init_test_context_().
336       d2d1/tests: Store the resource data pointer and row-pitch directly in struct resource_readback.
337       d2d1/tests: Pass a d2d1_test_context structure to compare_surface().
338       d2d1/tests: Pass a d2d1_test_context structure to compare_figure().
339       d2d1/tests: Pass a d2d1_test_context structure get_surface_readback().
340       d2d1/tests: Store an IDXGIDevice interface instead of an ID3D10Device1 interface in struct d2d1_test_context.
341       d2d1/tests: Run most tests on d3d11 as well.
342       include: Add windows.media.speechsynthesis.idl stub.
343       windowscodecs: Use create_instance instead of ImagingFactory_CreateInstance.
344       windowscodecs: Use IWICComponentFactory_CreateStream in GetReaderByIndex.
345       widl: Remove unnecessary WinRT type comments.
346       widl: Support WinRT marshaling_behavior attribute parsing.
347       d3d11: Add initial implementation of CreateDeviceContextState.
348       d3d11: Add initial implementation of SwapDeviceContextState.
349       d3d11: Capture and restore vertex shader state.
350       d3d11: Capture and restore geometry shader state.
351       d3d11: Capture and restore pixel shader state.
352       widl: Support WinRT mta threading attribute parsing.
353       widl: Support WinRT exclusiveto attribute parsing.
354       windowscodecs: Use IWICComponentFactory_CreateQueryReaderFromBlockReader in GetMetadataQueryReader.
355       windowscodecs: Move several helpers to new wincodecs_common.c source.
356       widl: Support WinRT runtimeclass type parsing.
357       include: Add VoiceInformation runtimeclass to windows.media.speechsynthesis.idl.
358       include: Add IWMPRemoteMediaServices interface to wmp.idl.
359       include: Add IWmpControls2 interface to wmp.idl.
360       include: Add IWMPMedia2 interface to wmp.idl.
361       include: Add IWMPMedia3 interface to wmp.idl.
362       d3d11/tests: Add more SwapDeviceContextState tests.
363       d3d11/tests: Add tests for hull shader state swap.
364       d3d11/tests: Add tests for domain shader state swap.
365       d3d11/tests: Add tests for compute shader state swap.
367 Sebastian Lackner (1):
368       server: Store and notify all notification events associated with a given registry handle.
370 Shawn M. Chapla (1):
371       dsound: Send CaptureBuffer stop notification whenever stopping.
373 Ulrich Czekalla (1):
374       riched20: Add check to ensure iob is a valid index into the object array.
376 Vijay Kiran Kamuju (1):
377       uiautomationcore: Add stub UiaRegisterProviderCallback function.
379 Zebediah Figura (79):
380       gdi32: Do not compare face file names in insert_face_in_family_list() if either is NULL.
381       winegstreamer: Get rid of the unknown_type() callback.
382       winegstreamer: Avoid using Wine debug functions in autoplug_blacklist().
383       winegstreamer: Don't force autoplug_blacklist() onto a Wine thread.
384       winegstreamer: Don't bother setting the GStreamer pipeline to PLAYING.
385       winegstreamer: Rename gstdemux_source to parser_source.
386       winegstreamer: Rename gstdemux to parser.
387       winegstreamer: Unify the decodebin parser definitions under the name "decodebin_parser".
388       winegstreamer: Avoid leaking GstEvent objects.
389       winegstreamer: Explicitly store a GstCaps pointer in the parser_source structure.
390       include: Move interlocked functions to winnt.h.
391       winegstreamer: Do not handle GST_EVENT_TAG in event_src().
392       winegstreamer: Do not call gst_pad_event_default().
393       strmbase: Rename csFilter to filter_cs.
394       strmbase: Move strmbase_renderer.csRenderLock into the strmbase_filter structure.
395       quartz/dsoundrender: Use the strmbase stream lock.
396       include: Move InterlockedCompareExchange128 next to the other InterlockedCompareExchange* functions.
397       strmbase: Acquire the streaming lock in MemInputPin_Receive().
398       strmbase: Acquire the streaming lock in sink_EndOfStream().
399       quartz/acmwrapper: Use the strmbase stream lock.
400       quartz/avidec: Use the strmbase stream lock.
401       winegstreamer: Manage our own streaming thread.
402       include: Use __atomic_exchange_n() for InterlockedExchange*() if possible.
403       include: Add InterlockedOr().
404       include: Add MemoryBarrier().
405       winegstreamer: Flush connected pins directly in SetPositions().
406       winegstreamer: Consistently use GST_STATE_PAUSED for test-play.
407       winegstreamer: Do not return GST_FLOW_NOT_LINKED if the DirectShow pin is not connected.
408       winegstreamer: Keep the stream in paused state for its entire lifetime.
409       winegstreamer: Use the "flushing" field to unblock the streaming thread when stopping.
410       include: Add InterlockedAnd().
411       include: Add InterlockedIncrement16() and InterlockedDecrement16().
412       include: Add YieldProcessor().
413       wined3d: Use YieldProcessor().
414       ntoskrnl: Use YieldProcessor().
415       winegstreamer: Move pin duration and caps retrieval to GST_Connect().
416       winegstreamer: Store the segment parameters in the parser_event structure.
417       winegstreamer: Use a pthread condition variable to wait for filter initialization.
418       winegstreamer: Avoid using Wine debug functions in watch_bus().
419       winegstreamer: Don't force watch_bus() onto a Wine thread.
420       server: Avoid leaking "acceptsock" on allocation failure.
421       server: Use default_fd_get_poll_events() for file objects.
422       winegstreamer: Avoid using Wine debug functions in no_more_pads().
423       winegstreamer: Don't force no_more_pads() onto a Wine thread.
424       winegstreamer: Use pthread condition variables to queue stream events.
425       winegstreamer: Factor out get_stream_event().
426       winegstreamer: Avoid using Wine debug functions in got_data_sink().
427       winegstreamer: Don't force got_data_sink() onto a Wine thread.
428       msi: Check for failure from do_msidbCustomActionTypeDll().
429       msi: Return an error if trying to run a 64-bit custom action in a 32-bit prefix.
430       ntdll/tests: Add an alignment helper.
431       wined3d: Make adapter_gl_clear_uav() static.
432       winegstreamer: Avoid using Wine debug functions in event_sink().
433       winegstreamer: Don't force event_sink() onto a Wine thread.
434       winegstreamer: Avoid using Wine debugging functions in event_src().
435       winegstreamer: Don't force event_src() onto a Wine thread.
436       winegstreamer: Avoid using Wine debugging functions in query_function().
437       winegstreamer: Don't force query_function() onto a Wine thread.
438       winegstreamer: Avoid using Wine debug functions in removed_decoded_pad().
439       winegstreamer: Don't force removed_decoded_pad() onto a Wine thread.
440       winegstreamer: Manage our own thread for read requests.
441       winegstreamer: Don't force request_buffer_src() onto a Wine thread.
442       ntdll/tests: Add more tests for registry notifications.
443       winegstreamer: Use the "filesize" field in push_data().
444       winegstreamer: Use request_buffer_src() in push_data().
445       winegstreamer: Avoid using Wine debug functions in push_data().
446       winegstreamer: Make push_data() into a POSIX thread.
447       include: Include ntddndis.h in ndis.h.
448       ndis.sys: Avoid including ntddndis.h directly.
449       winegstreamer: Do not flush the upstream source pin in activate_push().
450       winegstreamer: Don't grab filter_cs in activate_push().
451       winegstreamer: Avoid using Wine debug functions in activate_mode().
452       winegstreamer: Don't force activate_mode() onto a Wine thread.
453       wineboot: Set the NXSupportPolicy member of the user shared data to NX_SUPPORT_POLICY_OPTIN.
454       kernel32: Implement GetSystemDEPPolicy().
455       kernel32: Implement SetProcessDEPPolicy().
456       wined3d: Implement global resource memory barriers.
457       include: Fix the definition of PNDIS_HANDLE.
458       include: Define some types before including ntddndis.h.
460 Zhiyi Zhang (4):
461       wined3d: Support multiple outputs.
462       user32/tests: Add display DC tests.
463       gdi32: Report correct HORZRES and VERTRES values for GetDeviceCaps() with DCs on a specific monitor.
464       gdi32: Report real VREFRESH values for GetDeviceCaps() with display DCs.
466 Ziqing Hui (4):
467       gdiplus/tests: Add tests for drawing on printer DC.
468       gdiplus: Correctly handle UnitDisplay for printer DC.
469       gdiplus/tests: Add initial tests for metafile created from printer DC.
470       gdiplus: Record logical DPI in metafile.
473 Alexandre Julliard
474 julliard@winehq.org