ntdll: Store the thread startup info in the ntdll_thread_data structure.
[wine.git] / ANNOUNCE
blob6c12e43ae06766de683ceae0d8a5bae523f0db7a
1 The Wine development release 5.13 is now available.
3 What's new in this release (see below for details):
4   - Re-mapping of INI files to the registry.
5   - System call thunks in NTDLL.
6   - Reimplementation of floating point numbers printing.
7   - Beginnings of a restructuration of the console support.
8   - Various bug fixes.
10 The source is available from the following locations:
12   https://dl.winehq.org/wine/source/5.x/wine-5.13.tar.xz
13   http://mirrors.ibiblio.org/wine/source/5.x/wine-5.13.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 5.13 (total 22):
31    4096  IniFileMapping not Implemented (ini on win9x => Registry on NT)
32   18072  Core Media Player crashes on missing CLSID_DvdGraphBuilder {fcc152b7-f372-11d0-8e00-00c04fd7c08b} (qdvd.dll)
33   27298  The Witcher 2 Slow Performance on any setting.
34   28109  winmm capture tests fail on some machines
35   31023  CuteFTP 8.3.4 - "Encountered an improper argument." Error boxes after most actions.
36   32215  11game platform crashes at start
37   36546  Please remove `tmpfs` special treatment in ntdll / MSI packages cannot be installed from `tmpfs`
38   42874  Battle.net App is unable to update games
39   44127  Metal Gear Solid V: Ground Zeroes doesn't launch
40   45701  Warframe: Launcher.exe does not update, keeps relaunching itself
41   45876  Call of Duty: Black Ops III and Call of Duty: WWII have no mouse input when using native mfplat
42   47587  Call to Power II: Screen doesn't repaint after selecting main menu option
43   49092  Blindwrite 7 crashes with a stack overflow
44   49103  Call of Duty: Modern Warfare 2 Campaign Remastered mouse input is missing
45   49422  Dungeon Siege 1 & 2 weapons are misplaced
46   49438  Wine on ARM64 fails with "could not exec the wine loader" unless --enable-win64 is used
47   49489  Incorrect rendering in Warframe with nvidia
48   49496  sprintf uses locale specific decimal point when it should not.
49   49513  Battle.net fails to install World of Warcraft or Starcraft II
50   49522  Mass Effect: Andromeda doesn't recognize keyboard input since 5.12
51   49570  LVM_FINDITEM should do case-insensitive test for item text
52   49573  Sporadic page fault on 64bit prefix creation on macOS
54 ----------------------------------------------------------------
56 Changes since 5.12:
58 Alex Henrie (1):
59       ws2_32: Avoid depending on system getprotoby(name|number) functions.
61 Alexandre Julliard (89):
62       ntdll: Update working set limit also when loading a builtin dll.
63       ntdll: Reserve memory areas on all platforms.
64       winebuild: Allow specifying a spec file also for Unix libraries.
65       winebuild: Add a -syscall entry point flag
66       winebuild: Add generation of system call thunks.
67       ntdll: Use syscalls for NtCreateFile() and NtOpenFile().
68       ntdll/tests: Enable a few tests on all platforms.
69       ntdll: Use proper flags instead of characters for printf flags.
70       ntdll: Use macros to define both A and W printf functions.
71       winebuild: Generate Windows-style syscall thunks on x86.
72       winebuild: Generate Windows-style syscall thunks on x86_64.
73       ntdll: Move NtQueryObject/NtSetInformationObject to the Unix library.
74       kernel32: Move RemoveDirectoryA/W() implementation to kernelbase.
75       mountmgr: Use wine_get_dos_file_name() instead of wine_unix_to_nt_file_name().
76       ntdll: Disallow relative paths in wine_unix_to_nt_file_name(), handle them in the caller.
77       winebuild: Fix retrieving syscall arg length on x86_64.
78       ntdll: Return a char pointer instead of an ANSI_STRING in nt_to_unix_file_name().
79       ntdll: Allocate the return buffer in the caller for wine_nt_to_unix_file_name().
80       ntdll: Use char pointers instead of ANSI/UNICODE_STRING in unix_to_nt_file_name().
81       ntdll: Allocate the buffer in the caller for wine_unix_to_nt_file_name().
82       ntdll: Clear the reply data on error in virtual_locked_server_call().
83       mountmgr: Fix handling of buffer overflows in IOCTL_MOUNTMGR_QUERY_UNIX_DRIVE.
84       ntdll: Use stack buffers to retrieve the drive info from mountmgr.
85       ntdll: Silence a noisy error.
86       ntdll: Add a helper function to open a file from its Unix path.
87       ntdll: Add a helper function to retrieve the NT headers of the main exe.
88       ntdll: Add a local helper function to check DOS 8.3 names.
89       ntdll: Move the FSCTL_PIPE_IMPERSONATE semi-stub to the server.
90       ntdll: Avoid using RtlInitUnicodeString() in the Unix library.
91       ntdll: Avoid using RtlDosPathNameToNtPathName_U() in the Unix library.
92       ntdll: Avoid using LdrQueryProcessModuleInformation() in the Unix library.
93       ntdll: Avoid using RtlQueueWorkItem() in the Unix library.
94       ntdll: Return the TEB pointer in NtCreateThreadEx().
95       ntdll: Implement RtlActivateActivationContextEx().
96       ntdll: Move the activation context initialization out of NtCreateThreadEx().
97       ntdll: Use a pthread mutex for the CD-ROM cache section.
98       ntdll: Use a pthread mutex for the timezone section.
99       ntdll: Use a pthread mutex for the mount info section.
100       ntdll: Use a pthread mutex for the drive info section.
101       ntdll: Use a pthread mutex for the current directory section.
102       ntdll: Use a pthread mutex for the wait on address section.
103       ntdll: Use malloc() to allocate the buffer in unix_to_nt_file_name().
104       ntdll: Use malloc() to allocate the buffer in nt_to_unix_file_name() and related helpers.
105       ntdll: Use malloc() to allocate the buffer in server_get_unix_name().
106       ntdll: Use malloc() to allocate the buffer in get_device_mount_point().
107       ntdll: Use malloc() to allocate the directory cache.
108       ntdll: Use malloc() to allocate temporary filename buffers.
109       ntdll: Use malloc() to allocate temporary process data.
110       ntdll: Use malloc() to allocate the logical processor information.
111       ntdll: Use malloc() to allocate the system processor information.
112       ntdll: Use malloc() to allocate temporary system information.
113       ntdll: Initialize the thread signal stack in the common code.
114       ntdll: Add support for FPU registers in signal context on ARM.
115       ntdll: Handle faults inside the signal handler also on ARM.
116       ntdll: Pass the stack address to the virtual_handle_fault() function.
117       ntdll: Add a helper function to grow the stack on guard page faults.
118       ntdll: Also handle stack guard page faults in virtual_handle_fault().
119       ntdll: Add a helper function to push the exception data to the thread stack.
120       ntdll: Build the exception record on the signal stack first.
121       ntdll: Handle signals on the signal stack also on ARM.
122       ntdll: Send debug event before pushing exception data on ARM.
123       ntdll: Send debug event before pushing exception data on ARM64.
124       ntdll: Send debug event before pushing exception data on x86.
125       ntdll: Send debug event before pushing exception data on x86_64.
126       ntdll: Use separate handlers for SIGSEGV/SIGILL/SIGBUS on ARM64.
127       ntdll: Fix RtlSizeHeap() error value for 64-bit.
128       ntdll: Avoid buffer underflow in find_dos_device().
129       kernelbase: Use FSCTL_GET_OBJECT_ID to compare file identities.
130       ntdll: Use syscall thunks for semaphore functions.
131       ntdll: Use syscall thunks for event functions.
132       ntdll: Use syscall thunks for mutex functions.
133       ntdll: Use syscall thunks for job functions.
134       ntdll: Use syscall thunks for timer functions.
135       ntdll: Use syscall thunks for wait functions.
136       ntdll: Use syscall thunks for keyed event functions.
137       ntdll: Use syscall thunks for I/O completion functions.
138       ntdll: Use syscall thunks for thread functions.
139       ntdll: Use syscall thunks for process functions.
140       ntdll: Use syscall thunks for file functions.
141       ntdll: Use syscall thunks for virtual memory functions.
142       ntdll: Use syscall thunks for system functions.
143       ntdll: Use syscall thunks for object manager functions.
144       ntdll: Move the registry system calls to the Unix library.
145       ntdll: Move the remaining file functions to the Unix library.
146       ntdll: Move more object manager functions to the Unix library.
147       ntdll: Move the atom system calls to the Unix library.
148       ntdll: Move some system stub functions to the Unix library.
149       ntdll: Move some timer stub functions to the Unix library.
150       ntdll: Move some power stub functions to the Unix library.
152 Alistair Leslie-Hughes (2):
153       wbemprox: Add more Win32_PhysicalMemory properties.
154       ws2_32: Trace SIO_IDEAL_SEND_BACKLOG_* calls.
156 Bernhard Rosenkränzer (1):
157       include: Correct a spelling error in the definition of IXACT3Engine_Initialize.
159 Brendan Shanks (5):
160       winex11.drv: Retrieve PCI IDs and device name from Vulkan.
161       winevulkan: Export VK_KHR_get_surface_capabilities2 functions from vulkan-1.
162       user32: Create separate FIXME() messages for each packet type in DisplayConfigGetDeviceInfo().
163       user32: Handle GET_SOURCE_NAME in DisplayConfigGetDeviceInfo().
164       user32/tests: Test DisplayConfigGetDeviceInfo() GET_SOURCE_NAME with valid ID and invalid LUID.
166 Daniel Lehman (6):
167       msxml3: Set internal error on loading from IStream.
168       msxml3: Set internal error on loading from IPersistStream.
169       msvcrt/tests: Check errno in strtod test.
170       msvcrt: Set errno in strtod.
171       msvcrt: Treat large exponent as overflow in strtod.
172       ucrtbase/tests: Check errno in strtod tests.
174 Dmitry Timoshkov (4):
175       msxml3/tests: Add some tests for XML loading with site assigned.
176       msxml3: IXMLDOMDocument2's ::SetSite implementation should query site for base URI.
177       msxml3: Use site's base URI when loading an XML file.
178       gdi32: Add support for GCP_USEKERNING to GetCharacterPlacement().
180 Esme Povirk (1):
181       wbemprox: Implement Win32_SoundDevice.Manufacturer.
183 François Gouget (3):
184       kernel32: FILE_SetDosError() is not used anymore so remove it.
185       mshtml: Fix the spelling of a MoveUnitBounded() parameter.
186       msvcrt: Fix the spelling of a TRACE() message.
188 Gabriel Ivăncescu (3):
189       wined3d: Don't change the swapchain window z-order if no window changes were requested.
190       wined3d: Don't show the window if no window changes were requested.
191       wined3d: Restore the window visibility and z-order upon exiting fullscreen, if requested.
193 Georg Lehmann (2):
194       winevulkan: Unwrap object for VK_EXT_private_data when needed.
195       vulkan-1: Add test for VK_EXT_private_data.
197 Gijs Vermeulen (12):
198       amstream: Increment/decrement IMediaStreamFilter refcount twice in multimedia_stream_create/release().
199       amstream/tests: Add IAMMediaStream::JoinFilter() tests.
200       amstream: Add graph to stream in IMediaStreamFilter::AddMediaStream().
201       qdvd: Add IDvdGraphBuilder stub.
202       amstream/tests: Fix filter leak in test_add_stream().
203       wbemprox/tests: Add Win32_SoundDevice tests.
204       gdi32: Fix some test failures when not using X11.
205       amstream: Add AMMediaStream::JoinFilterGraph() tests.
206       amstream: Implement AMMediaStream::JoinFilterGraph.
207       qdvd: Support aggregation.
208       qdvd: Add a stub dvd navigator filter.
209       qdvd: Add a stub IDvdControl2 interface.
211 Huw D. M. Davies (2):
212       server: Remove unnecessary 'remove' parameter from accept_hardware_message request.
213       include: Update some members of KUSER_SHARED_DATA.
215 Jacek Caban (65):
216       server: Always create fd for console_input object.
217       server: Introduce IOCTL_CONDRV_GET_INPUT_INFO ioctl.
218       kernelbase: Reimplement GetNumberOfConsoleInputEvents using IOCTL_CONDRV_GET_INPUT_INFO.
219       server: Introduce IOCTL_CONDRV_READ_INPUT and IOCTL_CONDRV_PEEK ioctls.
220       kernel32: Use IOCTL_CONDRV_READ_INPUT in read_console_input.
221       kernelbase: Reimplement PeekConsoleInputW using IOCTL_CONDRV_PEEK.
222       server: Get rid of no longer needed read_console_input request.
223       wineconsole: Use IOCTL_CONDRV_GET_INPUT_INFO in WINECON_GetServerConfig.
224       kernel32: Use IOCTL_CONDRV_GET_INPUT_INFO in CONSOLE_GetEditionMode.
225       kernelbase: Use ioctl for WriteConsoleInputW implementation.
226       server: Get rid of no longer needed write_console_input request.
227       server: Create pseudo fd for console_input_events object.
228       server: Introduce IOCTL_CONDRV_GET_RENDERER_EVENTS ioctl.
229       wineconsole: Use IOCTL_CONDRV_GET_RENDERER_EVENTS to fetch events.
230       server: Remove no longer needed get_console_renderer_events request.
231       wineconsole: Use OVERLAPPED to wait for console events.
232       server: Remove no longer needed supoort for signaling console_input_events object.
233       winebuild: Use asm_name for __wine_syscall.
234       kernel32/tests: Add more invalid handle tests.
235       server: Use separated fd ops for screen_buffer fd object.
236       server: Introduce IOCTL_CONDRV_GET_OUTPUT_INFO ioctl.
237       kernel32: Use IOCTL_CONDRV_GET_OUTPUT_INFO in get_console_font_size.
238       kernel32: Use IOCT_CONDRV_GET_OUTPUT_INFO in GetCurrentConsoleFontEx.
239       kernelbase: Use IOCTL_CONDRV_GET_OUTPUT_INFO in GetLargestConsoleWindowSize.
240       kernelbase: Use IOCTL_CONDRV_GET_OUTPUT_INFO in GetConsoleCursorInfo.
241       kernelbase: Use IOCTL_CONDRV_GET_OUTPUT_INFO in GetConsoleScreenBufferInfo.
242       kernelbase: Use IOCTL_CONDRV_GET_OUTPUT_INFO in GetConsoleScreenBufferInfoEx.
243       wineconsole: Use IOCTL_CONDRV_GET_OUTPUT_INFO in WINECON_GetServerConfig.
244       server: Remove no longer needed get_console_output_info request.
245       kernelbase: Introduce console_ioctl helper.
246       server: Introduce IOCTL_CONDRV_SET_OUTPUT_INFO ioctl.
247       kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleCursorInfo.
248       kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleCursorPosition.
249       kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleScreenBufferInfoEx.
250       kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleScreenBufferSize.
251       kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleTextAttribute.
252       kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleWindowInfo.
253       wineconsole: Use IOCTL_CONDRV_SET_OUTPUT_INFO in WINECON_SetConfig.
254       wineconsole: Use IOCTL_CONDRV_SET_OUTPUT_INFO in WINECON_SetColors.
255       server: Remove no longer used set_console_output_info request.
256       server: Introduce IOCTL_CONDRV_GET_MODE ioctl.
257       kernelbase: Use IOCTL_CONDRV_GET_MODE in GetConsoleMode.
258       kernel32: Use IOCTL_CONDRV_GET_MODE in VerifyConsoleIoHandle.
259       server: Introduce IOCTL_CONDRV_SET_MODE ioctl.
260       kernelbase: Use IOCTL_CONDRV_SET_MODE in SetConsoleMode.
261       server: Remove no longer needed get_console_mode and set_console_mode requests.
262       server: Introduce IOCTL_CONDRV_FILL_OUTPUT ioctl.
263       kernelbase: Use IOCTL_CONDRV_FILL_OUTPUT in FillConsoleOutputCharacterW.
264       kernelbase: Use IOCTL_CONDRV_FILL_OUTPUT in FillConsoleOutputAttribute.
265       kernelbase: Use IOCTL_CONDRV_FILL_OUTPUT in fill_console_output.
266       kernel32: Use IOCTL_CONDRV_FILL_OUTPUT in CONSOLE_FillLineUniform.
267       server: Remove no longer needed fill_console_output request.
268       server: Introduce IOCTL_CONDRV_GET_TITLE ioctl.
269       wineconsole: Use IOCTL_CONDRV_GET_TITLE in WINECON_GetConsoleTitle.
270       server: Trace console ioctls.
271       ntdll: Silence server_ioctl_file debug traces.
272       server: Allow creating console renderer with open_file.
273       server: Introduce IOCTL_CONDRV_ATTACH_RENDERER ioctl.
274       wineconsole: Use NtCreateFile to create renderer object.
275       server: Remove support for crating renderer in alloc_console request.
276       kernelbase: Avoid unneeded GetConsoleOutputCP calls.
277       server: Introduce IOCTL_CONDRV_ACTIVATE ioctl.
278       kernelbase: Use IOCTL_CONDRV_ACTIVATE in SetConsoleActiveScreenBuffer.
279       server: Remove support for SET_CONSOLE_INPUT_INFO_ACTIVE_SB.
280       ntdll: Always use GNU _CI* functions implementation on clang.
282 Kevin Puetz (4):
283       include: GWL_ID is not a HANDLE or pointer, and should be available on _WIN64.
284       include: Use __typeof__ so <guiddef.h> is compatible with -std=c++11.
285       include: Use unsigned int in InlineIsEqualGUID.
286       oleaut32: Cut off only non-empty \[0-9]+$ resource-id in RegisterTypeLib.
288 Matteo Bruni (8):
289       d3dx9: Simplify D3DXSphereBoundProbe() a bit.
290       wined3d: Fix / update reported driver model version.
291       wined3d: Automatically assign reported driver D3D version / feature level.
292       wined3d: Update reported AMD RX driver version.
293       wined3d: Update reported NVIDIA driver version for Fermi+ GPUs.
294       wined3d: Disable depth textures with backbuffer ORM.
295       wined3d: Add GPU information for AMD Raven Ridge.
296       wined3d: Update comment about sample_c_lz translation in GLSL.
298 Michael Stefaniuc (1):
299       dmime: Reimplement the reference list parser.
301 Myah Caron (2):
302       msvcrt: Don't reset MXCSR status in __control87_2 if control information is not changed.
303       ntdll/tests: Add test to check if GetTickCount is updated after sleeping.
305 Nikolay Sivov (30):
306       mfplat: Implement sample tracking.
307       mf: Add a sink stub for EVR.
308       mf/evr: Add IMFMediaSinkPreroll stub.
309       mf/evr: Return sink flags.
310       mf/evr: Track shutdown state.
311       mf: Make freeing function optional for object activator.
312       mf/evr: Create mixer object on activation.
313       mf/evr: Create presenter object on activation.
314       mf/evr: Add IMFVideoRenderer stub.
315       mf/evr: Add events queue support for the sink.
316       mf/evr: Add a stub for clock state sink.
317       mf/evr: Add IMFGetService stub.
318       evr: Respond to IMFVideoMixerControl in mixer's GetService().
319       mf/evr: Forward mixer service requests to the mixer.
320       mf/evr: Forward presenter service requests to the presenter.
321       mf/evr: Do not set user context for activator object.
322       mf/evr: Implement setting/getting sink clock.
323       mf/evr: Add IMFTopologyServiceLookup stub.
324       mf/evr: Add support for LookupService() for MR_VIDEO_RENDER_SERVICE/IMediaEventSink.
325       mf/evr: Return mixer's transform for MR_VIDEO_MIXER_SERVICE requests.
326       evr/mixer: Request EVR event sink.
327       mf/evr: Let mixer request necessary services.
328       evr/tests: Fix test crash on Windows 7.
329       msxml3/tests: Remove traces.
330       shlwapi/tests: Remove failing test.
331       mf/topoloader: Switch to public interface for initial topology validation.
332       mf/topoloader: Clone source nodes as a first layer of resulting topology.
333       mf/topoloader: Add a structure for iterative branch resolution.
334       comctl32/listview: Rename helper argument.
335       comctl32/listview: Use case-insensitive compare in LVM_FINDITEM.
337 Paul Gofman (10):
338       ntdll: Fix KiUserExceptionDispatcher ABI on x86.
339       ntdll: Don't call NtRaiseException() on x64 if debugger is not present.
340       ntdll: Use case sensitive search for \??\unix file names only.
341       ntdll: Fixup instruction pointer for EXCEPTION_BREAKPOINT in the Unix part on x86/x86_64.
342       ntdll: Fix stack adjustment condition in call_user_exception_dispatcher on x86_64.
343       ntdll: Stop search on mmap() error in try_map_free_area().
344       ntdll: Use MAP_FIXED_NOREPLACE flag in try_map_free_area() if available.
345       ntdll: Always align stack pointer in __wine_syscall_dispatcher on x64.
346       ntdll: Fix PE unwind info for %rsi, %rdi in KiUserExceptionDispatcher.
347       ntdll/tests: Test KiUserExceptionDispatcher with RtlUnwind on i386.
349 Piotr Caban (51):
350       ntdll: Fix 64-bit values printing in relay.
351       msvcrt: Fix _control87 ambiguous return value.
352       ucrtbase: Fix buffer overflow error when printing hexadecimal floating point number.
353       msvcrt: Move big numbers implementation to new file.
354       msvcrt: Reimplement floating point numbers printing.
355       ucrtbase: Add more printf tests.
356       ntdll: Ignore L length specifier in printf.
357       msvcrt: Use proper flags instead of characters for printf flags.
358       ucrtbase: Add parameters validation to _timespec32_get function.
359       msvcrt: Don't use strcmpW in wcscmp.
360       msvcrt: Don't use strcmpiW in _wcsicoll_l.
361       msvcrt: Don't use strcmpiW in _wcsicmp_l.
362       msvcrt: Don't use strncmpW in wcsncmp.
363       msvcrt: Don't use strncmpW in msvcrt_get_flags.
364       msvcrt: Don't use strncmpiW in _wcsnicoll_l.
365       msvcrt: Don't use strncmpiW in _wcsnicmp_l.
366       msvcrt: Use _wcsnicmp instead of strnicmpW.
367       msvcrt: Remove unused parameter in pf_integer_conv.
368       msvcrt: Don't use strstrW in wcsstr.
369       msvcrt: Use _iswctype_l in _iswspace_l function.
370       msvcrt: Don't use isspaceW.
371       msvcrt: Don't use isalnumW.
372       msvcrt: Don't use isalphaW.
373       msvcrt: Don't use iscntrlW.
374       msvcrt: Don't use isdigitW.
375       msvcrt: Don't use isgraphW.
376       msvcrt: Don't use islowerW.
377       msvcrt: Don't use isprintW.
378       msvcrt: Don't use ispunctW.
379       msvcrt: Don't use isupperW.
380       msvcrt: Don't use isxdigitW.
381       msvcrt: Improve __crtLCMapStringA implementation.
382       msvcrt: Don't use tolowerW in _towlower_l.
383       msvcrt: Don't use tolowerW in _tolower_l.
384       msvcrt: Don't use tolowerW and toupperW in _setmbcp_l.
385       msvcrt: Don't use tolowerW.
386       msvcrt: Don't use toupperW in _towupper_l.
387       msvcrt: Don't use toupperW in _toupper_l.
388       msvcrt: Don't use toupperW.
389       msvcrt: Add _ismbbkana_l implementation.
390       msvcrt: Add _ismbcalnum_l implementation.
391       msvcrt: Add _ismbcdigit_l implementation.
392       msvcrt: Add _ismbcgraph_l implementation.
393       msvcrt: Add _ismbcalpha_l implementation.
394       msvcrt: Add _ismbclower_l implementation.
395       msvcrt: Add _ismbcupper_l implementation.
396       msvcrt: Add _ismbcspace_l implementation.
397       msvcrt: Add _ismbcprint_l implementation.
398       msvcrt: Add _ismbcpunct_l implementation.
399       comctl32: Compute border size from client and window rectangles.
400       comctl32: Offset client area when toolbar divider is present.
402 Robin Kertels (2):
403       d3dx9: Ignore filter in D3DXLoadSurfaceFromSurface() when rects match.
404       d3dx9/tests: Add a few D3DXLoadSurfaceFromSurface() tests with different rects.
406 Rémi Bernon (10):
407       dxgi/tests: Add more complete window style checks.
408       d3d9/tests: Check device window rect after reset.
409       d3d9/tests: Add more visibility tests.
410       ddraw: Use the WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES flag.
411       d3d9: Use WINED3D_SWAPCHAIN_RESTORE_WINDOW_STATE if extended.
412       user32/tests: Add more GetRawInputData tests.
413       user32: Use WM_INPUT message hw_id as RAWINPUT handle.
414       mmdevapi: Support new AUDCLNT_* creation flags.
415       dxgi: Implement IDXGIOutput5 and IDXGIOutput6 stubs.
416       dxgi: Implement IDXGISwapChain4 stub.
418 Serge Gautherie (6):
419       msvcrt: Fix ldiv() return type.
420       msvcrt: Remove extra pointers on lldiv() implementation and test.
421       crypt32: Check CRYPT_ConstructBitBlob() return value in CRYPT_ExportKeyTrans().
422       mlang: Fix scripts values in fnIMLangFontLink2_GetScriptFontInfo().
423       wininet: Get rid of user buffer in create_cookie_url().
424       winapi_test: Add/remove headers for urlmon test.
426 Shawn M. Chapla (6):
427       gdiplus/tests: Add metafile DrawDriverString test.
428       gdiplus: Make brush parameter const in brush object serialize helpers.
429       gdiplus/tests: Add additional logfont size tests.
430       gdiplus: Set font emSize to height minus internal leading.
431       gdiplus: Add DrawDriverString record deserialization.
432       gdiplus: Add DrawDriverString serialization.
434 Thomas Crider (1):
435       ntdll: Add missing LC_NUMERIC locale setting to init_locale.
437 Zebediah Figura (68):
438       ntdll: Correct a comment referring to fd_cache_section.
439       winegstreamer: deinterlace belongs to the "good" set, not the "base" set.
440       kernel32/tests: Call NtQuerySystemInformation(SystemProcessInformation) until it returns STATUS_SUCCESS.
441       ntdll: Reimplement NtQuerySystemInformation(SystemProcessInformation) using a single server call.
442       iphlpapi: Reimplement get_pid_map() using the list_processes request.
443       server: Remove no longer used snapshot requests.
444       api-ms-win-core-systemtopology-l1-1-0: New DLL.
445       winebuild: Fix a spelling error in a comment.
446       d3dcompiler/tests: Check the reflection type of bool variables.
447       d3dcompiler: Allow hlsl_ir_constant to contain only scalar and vector constants.
448       d3dcompiler: Store the "then" and "else" instruction lists directly in the hlsl_ir_if structure.
449       d3dcompiler: Store the loop body directly in the hlsr_ir_loop structure.
450       ntdll: Set the process creation time in NtQuerySystemInformation(SystemProcessInformation).
451       ntdll: Set the thread creation time in NtQuerySystemInformation(SystemProcessInformation).
452       wined3d: Mark the stateblock as dirty in wined3d_stateblock_multiply_transform().
453       ntdll: Fill the VM counters in NtQuerySystemInformation(SystemProcessInformation).
454       ntdll: Don't translate Unix virtual disks to FILE_DEVICE_VIRTUAL_DISK.
455       kernel32/tests: Avoid testing that WaitCommEvent() doesn't return immediately.
456       msdmo: Remove dead code associated with an older registry format.
457       msdmo: Avoid a redundant string -> GUID conversion.
458       msdmo: Use wide character string literals.
459       msdmo: Factor out any_types_match().
460       msdmo: Use a dynamically allocated buffer in IEnumDMO::Next().
461       msdmo/tests: Add tests for DMOGetTypes().
462       msdmo: Return S_OK from DMOGetTypes() even if the buffer is too short.
463       msdmo: Return the number of media types retrieved from DMOGetTypes().
464       msdmo: Avoid leaking key handles in DMOGetTypes().
465       devenum: Call DMOGetTypes() until less types are returned than were allocated.
466       quartz: Use calloc() in filter_graph_common_create().
467       quartz: Get rid of the IFilterGraphImpl typedef.
468       quartz/vmr9: Show the window only if auto-show is enabled.
469       quartz/vmr9: Auto-show the window when pausing, not when running.
470       qcap/smartteefilter: Return VFW_S_CANT_CUE from GetState() if paused.
471       quartz: Add more tracing to state change methods.
472       quartz: Don't sort the graph in IMediaFilter::GetState().
473       quartz/tests: Add more tests for asynchronous state change.
474       quartz: Poll in IMediaFilter::GetState().
475       quartz: Increase the initial streaming delay to 200 ms.
476       quartz: Always apply the 200 ms delay to presentation time.
477       quartz: Return an error code if a filter reports an incorrect state.
478       quartz: Run the graph asynchronously if necessary.
479       kernel32: Implement registry mapping in GetPrivateProfileStringW().
480       kernel32: Implement registry mapping in WritePrivateProfileStringW().
481       kernel32: Implement retrieving mapped sections.
482       kernel32: Implement registry mapping in GetPrivateProfileSectionNames().
483       kernel32: Implement registry mapping in WritePrivateProfileSection().
484       kernel32: Implement deleting mapped sections.
485       kernel32/tests: Add tests for profile registry mapping.
486       quartz/tests: Test previous filter states.
487       quartz/tests: Add some tests for media types for the DirectSound renderer.
488       quartz/dsoundrender: Don't check the subtype in DSoundRender_CheckMediaType().
489       quartz/tests: Add some tests for pin connection on the DirectSound renderer.
490       quartz/tests: Add some tests for allocator negotiation on the DirectSound renderer.
491       ntoskrnl.exe: Add tests for permanent objects.
492       server: Implement OBJ_PERMANENT.
493       ntdll: Implement NtMakeTemporaryObject().
494       ntoskrnl.exe: Create symbolic links as permanent objects.
495       kernelbase: Create DOS drive links as permanent objects.
496       server: Remove no longer used unlink_object request.
497       ntdll/tests: Remove some workarounds for no longer supported versions of Windows.
498       ntdll/tests: Convert DIR_TEST_CREATE_OPEN into a function.
499       ntdll/tests: Use wide character string literals in om.c.
500       ntdll/tests: Fix a copy-paste error.
501       quartz/tests: Add tests for DirectSound renderer filter state.
502       quartz/dsoundrender: Do not send quality messages.
503       strmbase: Get rid of the QualityControlImpl typedef.
504       strmbase: Set the IQualityControl vtbl in QualityControlImpl_Create().
505       strmbase: Store the quality control object directly in strmbase_renderer.
507 Zhiyi Zhang (2):
508       wined3d: Call wined3d_adapter_init() before initialising any adapter field.
509       wined3d: Use valid adapter LUIDs if they are available.
511 Ziqing Hui (10):
512       d3dx10/tests: Add more test images.
513       d3dx10: Implement D3DX10GetImageInfoFromMemory().
514       windowscodecs: Remove header and header_dxt10 in struct DdsDecoder.
515       windowscodecs: Add IWICWineDecoder stub for DDS decoder.
516       windowscodecs/tests: Add tests for DdsDecoder_Wine_Initialize().
517       windowscodecs: Implement DdsDecoder_Wine_Initialize().
518       windowscodecs: Use IWICWineDecoder_Initialize() to initialize decoders in find_decoder().
519       windowscodecs: Return fail for unsupported format in DdsDecoder_Initialize().
520       windowscodecs/tests: Add tests for decoding uncompressed DDS image.
521       windowscodecs: Add support for decoding uncompressed DDS image.
524 Alexandre Julliard
525 julliard@winehq.org