dwrite: Improve parameter validation in GetGdiCompatibleGlyphAdvances(), add some...
[wine.git] / ANNOUNCE
blob19e574c65dca7dd7cff55aa2231f4e27b8a5e99d
1 The Wine development release 1.7.47 is now available.
3 What's new in this release (see below for details):
4   - Text drawing in Direct2D.
5   - Support for the new thread pool API.
6   - Toolbar state saving.
7   - Beginnings of an implementation for proper HID support.
8   - Support for file objects in device drivers.
9   - Various bug fixes.
11 The source is available from the following locations:
13   http://prdownloads.sourceforge.net/wine/wine-1.7.47.tar.bz2
14   http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.47.tar.bz2
16 Binary packages for various distributions will be available from:
18   http://www.winehq.org/download
20 You will find documentation on http://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check http://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 1.7.47 (total 48):
32    3077  WeatherScope: Right mouse button stuck
33    6955  Multiple games need software vertex blending implementation (NOLF2, Divinity 2, Dark Age of Camelot, Warhammer Online, PSU:AOTI)
34    9210  3DMark06 doesn't recognize Pixel Shaders 2.0
35   11499  sound effects not played correctly Battlefield 1942
36   15924  VT Trader freezes during login
37   17402  Battlefield 2 runs unplayably slow (and mission loading takes longer) on ATi with GLSL
38   17597  CharmTale2 crashes when releasing mshtml
39   22384  DbgHelp doesn't support DWARF-2 on Mac OS X
40   22579  Outlook Express does not show menu bar
41   22782  Battlefield 1942: missing some textures inside vehicles
42   24850  Explorer++ resets custom toolbar buttons on each startup
43   25289  Civilization 4: fails with 'error loading shader libraries' unless native d3dx9_26 is used
44   26262  No video output in Commandos - Behind Enemy lines
45   27286  Source Insight: Crashes when jumping to function definition.
46   28125  Microsoft 'ctfmon.exe' crashes on unimplemented function msctf.dll.TF_InitMlngInfo
47   28875  NullDC 1.0.4 (Dreamcast emulator) crashes when starting system (shader 'register' keyword used at global scope)
48   29326  Magicka crashes on audio init with winealsa.drv
49   29636  QQ International crashes after login
50   30686  Word 2010 Pro Plus adds spaces before umlauts
51   31001  SecureCRT:  could not write to the host key database file
52   31156  Skyrim does not work with ENB
53   31391  anarchy online game crashing after login
54   33907  Civilization 4: missing some sound (could not read file)
55   34945  AppleWin 1.23.0: CPU usage is very high when should be minimal
56   35192  Multiple Adobe applications crash on unimplemented function KERNEL32.dll.CreateThreadpool (Vista+ API)(Lightroom 5.x, Creative Cloud)
57   35789  Morrowind random crashes during game play.
58   36164  valgrind shows an unitialized variable in programs/cmd/tests/batch.c
59   36171  valgrind shows several leaks in winmm/waveform.c
60   36194  valgrind shows some possible leaks in mmdevapi/tests/dependency.c
61   36236  valgrind shows a leak in comctl32/tests/propsheet.c
62   36265  valgrind shows a couple leaks in dmband/tests/dmband.c
63   36270  valgrind shows several leaks in dmcompos/tests/dmcompos.c
64   36271  valgrind shows several leaks in dmime/tests/dmime.c
65   36273  valgrind shows several leaks in dmstyle/tests/dmstyle.c
66   36357  valgrind shows a leak in dswave/tests/dswave.c
67   36364  valgrind shows a few leaks in ieframe/tests/intshcut.c
68   36837  Steam fallout new vegas error
69   37306  Multiple applications trying to use Vista+ Thread Pool Timer API crash on startup with Wine configured as Vista or higher ('CreateThreadpoolTimer')(64-bit ApexDC 1.6.0, Watchtower Library 2014)
70   38474  Quake Live launcher fails to start
71   38492  vcrun2008 does not install via Winetricks under Kubuntu 15.04.  Works in Kubuntu 14.04.
72   38493  Steam steamwebhelper based on CEF 41.x crashes in Win7 mode (needs Kernel32.SetFileCompletionNotificationModes)
73   38510  STDU (Scientific and Technical Documentation Utility) Viewer v1.6.375 crashes when opening PDF file (typelib information for marshaller from registry-free COM server)
74   38660  NUMA Explorer crashes on unimplemented function KERNEL32.dll.GetNumaProcessorNode
75   38714  64-bit ARM Windows applications from Windows SDK for Windows 10 crash in entry (loader needs to set/randomize security cookie for PE modules)
76   38796  dwrite analyzer test crashes on my system
77   38822  FotoSketcher Portable 3.00 reports 'Exception externe C06D007F' on startup when running as 'Windows Vista' or higher (wants UxTheme.dll 'DrawThemeTextEx')
78   38832  Painting artifacts when moving a window that clips its children
79   38864  Microsoft Lync Basic 2013 (MS Office 15.0) installer crashes
81 ----------------------------------------------------------------
83 Changes since 1.7.46:
85 Aaryaman Vasishta (4):
86       d3drm/tests: Add test for IDirect3DRM*::CreateDeviceFromClipper.
87       d3drm: Fix function signature for IDirect3DRM3::CreateDeviceFromSurface.
88       d3drm/tests: Add test for IDirect3DRM*::CreateDeviceFromSurface.
89       d3drm/tests: Add test for IDirect3DRM*::CreateDeviceFromD3D.
91 Alex Henrie (1):
92       cmd: Consistently wrap lines to 75 characters.
94 Alexandre Julliard (8):
95       msvcirt/tests: Fix comparison with EOL.
96       include: Add ddk/ prefix when including ddk headers.
97       server: Pass the device client pointer as part of the IRP parameters.
98       server: Queue an IRP_MJ_CREATE request on file creation.
99       server: Queue an IRP_MJ_CLOSE request on file destruction.
100       ntoskrnl: Implement creation and destruction of file objects.
101       server: Pass the file instead of the device pointer in all IRP requests.
102       ntoskrnl: Forward IRP_MJ_CREATE and IRP_MJ_CLOSE requests to the loaded driver.
104 Alistair Leslie-Hughes (2):
105       d3drm: Add DllCanUnloadNow, DllGetClassObject stubs.
106       gdiplus: GdipConvertToEmfPlus parameter succ is optional.
108 André Hentschel (2):
109       ntdll: Silence warning about TAPE_GetStatus when sys/mtio.h is not available.
110       ntdll: Randomize security cookie when available.
112 Aric Stewart (17):
113       hid: Implement HidP_GetCaps.
114       hid: Implement HidP_GetButtonCaps.
115       hid: Implement HidP_GetValueCaps.
116       hid: Implement HidP_GetUsages.
117       hid: Implement HidP_GetUsageValue.
118       hid: Implement HidP_InitializeReportForID.
119       hid: Implement HidD_GetPreparsedData and HidD_FreePreparsedData.
120       hid: Implement HidD_GetInputReport.
121       hid: Implement HidD_GetAttributes.
122       hid: Implement HidP_MaxUsageListLength.
123       hid: Implement HidP_GetScaledUsageValue.
124       wine.inf: Add Dev Class for HID devices.
125       include: Add ddk/hidport.h.
126       include: New ddk/hidtypes.h include file.
127       include: Add HID_XFER_PACKET and HID_REVISION to hidclass.h.
128       include: Add IRP_MJ_POWER minor function codes.
129       hidclass.sys: Add hidclass.sys.
131 Austin English (2):
132       davclnt: Add stub dll.
133       d3d11: Add a stub for D3D11CreateDeviceAndSwapChain.
135 Bernhard Übelacker (8):
136       msi/tests: Test MsiSourceListEnumMediaDisks with volumeLabel and diskPrompt as NULL.
137       msi: Remove shortcut which calls RegEnumValueW with value and val_count as NULL.
138       mpr/tests: Add tests for WNetCachePassword and friends.
139       mpr: Call RegEnumValueA with valid value parameter.
140       dwrite: Call RegEnumValueW with value and val_count parameters.
141       regedit: Call RegEnumValueW with value and val_count parameters.
142       oleview: Call RegEnumValueW with value and val_count parameters.
143       advapi32: Fail in RegEnumValue on missing value or val_count parameters.
145 Damjan Jovanovic (1):
146       ole32: Convey the Alt button state to the drop target.
148 Daniel Lehman (3):
149       msvcp90: Copy name in _Getctype (Valgrind).
150       msvcp90: Make argument to _Locinfo__Getdays/months const.
151       msvcp110: Add export for facet dtor.
153 Dmitry Timoshkov (3):
154       user32/tests: Add some tests to show that WS_CLIPCHILDREN doesn't exclude children from update region.
155       winex11: Don't call ExcludeUpdateRgn for a window with WS_CLIPCHILDREN style.
156       ole32: Accept STG_E_UNIMPLEMENTEDFUNCTION when ILockBytes implementation doesn't support locking.
158 Gerald Pfeifer (1):
159       widl: Fix indentation in the EXPR_ADDRESSOF case in resolve_expression.
161 Hans Leidekker (1):
162       msi/tests: Avoid test failures on win2k3.
164 Henri Verbeet (10):
165       d2d1: Implement d2d_d3d_render_target_DrawGlyphRun().
166       d2d1: Implement d2d_text_renderer_IsPixelSnappingDisabled().
167       d2d1: Implement d2d_text_renderer_GetCurrentTransform().
168       d2d1: Implement d2d_text_renderer_GetPixelsPerDip().
169       include: Add Direct2D error codes to winerror.h.
170       d2d1: Only allow path geometries to be opened once.
171       d2d1: Implement d2d_geometry_sink_BeginFigure() and d2d_geometry_sink_EndFigure().
172       d2d1: Implement d2d_path_geometry_GetFigureCount().
173       d2d1: Implement d2d_path_geometry_GetSegmentCount().
174       d2d1: Implement d2d_d3d_render_target_DrawText().
176 Hugh McMaster (1):
177       wineconsole: Add HKCU registry entries for Insert Mode.
179 Huw D. M. Davies (15):
180       comctl32: Add helpers to set the button text.
181       comctl32: Add a helper to free button text.
182       comctl32: Don't leak button text.
183       comctl32: Implement toolbar saving.
184       comctl32: The number of buttons is set by the first TBN_RESTORE notification.
185       comctl32: All negative entries in the toolbar save state are special cases.
186       comctl32: Reset the string and lparam fields between notifications.
187       riched20: Free the script cache when updating the default style.
188       comctl32: Set the default separator width when notifying a -ve cmd id.
189       comctl32: Implement the legacy notifications during restore.
190       dwrite/tests: Add tests for GetGdiCompatibleMetrics.
191       comctl32/tests: Extra WM_PAINT messages are occasionally sent on Vista and Win 7.
192       shell32/tests: Win XP splits the args if there are spaces in the path.
193       shell32/tests: Win 2k doesn't cope with spaces in the path.
194       shell32: Fix threading model for the Known Folder Manager and Shell Link objects.
196 Iván Matellanes (6):
197       msvcirt: Add implementation of streambuf::pbackfail.
198       msvcirt: Add implementation of streambuf::sputbackc.
199       msvcirt: Add implementation of streambuf::dbp.
200       msvcirt: Add stub of class ios.
201       msvcirt/tests: Add initial tests for ios.
202       msvcirt: Implement ios constructors and assignment.
204 Jacek Caban (12):
205       user32: Limit number of hooks called recursively.
206       mshtml: Initialize output paramter before test call.
207       vbscript: Treat empty regexp pattern the same way as NULL pattern.
208       msscript.ocx: Added IScriptControl stub implementation.
209       mshtml: Added support for binding XHR events.
210       wincrypt.h: Added some missing constants.
211       secur32: Added SECPKG_ATTR_SUPPORTED_ALGS tests.
212       mshtml: Added nsIIOService::NewChannelFromURI2 semi-stub implementation.
213       msscript.ocx: Added support for IDispatch functions.
214       dvdmedia.h: Added AMINTERLACE_* defines.
215       wincodec.idl: Added missing GUID_WICPixelFormat32bpp* declarations.
216       shdocvw: Call DisableThreadLibraryCalls in DllMain.
218 Józef Kucia (4):
219       wined3d: Show fixme about unimplemented vertex processing once.
220       wined3d: Implement vertex blending in glsl_vertex_pipe.
221       wined3d: Implement normals transformation for vertex blending.
222       d3d9/tests: Add basic tests for vertex blending.
224 Ken Thomases (4):
225       dbghelp: Fix mapping of DWARF register numbers on x86 OS X.
226       dbghelp: Don't parse the DWARF info from Mach-O files if we were requested to only provide public symbols.
227       dbghelp: Add support for loading an external DWARF debug info file associated with a Mach-O module.
228       Revert "configure: Prefer stabs debug info on Mac OS.".
230 Matteo Bruni (12):
231       wined3d: Fix GLSL backend with non-GLSL vertex and pixel pipeline combination.
232       wined3d: Replace an open-coded implementation of LIST_FOR_EACH_ENTRY_SAFE.
233       wined3d: Fix NP2 fixups in GLSL fragment FFP replacement.
234       wined3d: Improve NP2 fixups in GLSL PS texture sampling code.
235       wined3d: Don't hardcode WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL cap flag.
236       wined3d: Use a lookup table to select the sampler function name.
237       wined3d: Use a core-compatible GL format for ATI2N.
238       wined3d: Use the correct texture coordinates in swapchain_blit() in the non-glBlitFramebuffer, NP2 case.
239       wined3d: Add a setting for the maximum OpenGL version to use.
240       wined3d: Use GLSL 1.50 on core contexts.
241       d3d9/tests: Add a test for UpdateTexture.
242       d3d8/tests: Add a test for UpdateTexture.
244 Michael Müller (3):
245       msvcrt/tests: Add additional tests for atof / strtod functions.
246       kernel32/tests: Add tests for GetNumaProcessorNode.
247       kernel32: Implement GetNumaProcessorNode.
249 Michael Stefaniuc (78):
250       dmstyle: Move struct definitions to the files that need them.
251       dmstyle: Remove unused DirectMusicMelodyFormulationTrack stuff.
252       dmcompos: COM cleanup for IDirectMusicTrack8 of DMChordMapTrack.
253       dmcompos: Remove the extraneous IUnknown from DMChordMapTrack.
254       dmcompos: Use the generic IPersistStream for DMChordMapTrack.
255       dmcompos: COM cleanup for IDirectMusicTrack8 of DMSignPostTrack.
256       dmcompos: Remove the extraneous IUnknown from DMSignPostTrack.
257       dmcompos: Use the generic IPersistStream for DMSignPostTrack.
258       dmcompos: Mark IPersistStream_Save of DMSignPostTrack as a stub.
259       dmband: Add missing TRACE to QI.
260       dmusic: Remove old and ugly COM macros.
261       dmstyle: Implement the E_NOTIMPL methods of IDirectMusicTrack8.
262       dmstyle/tests: Add some basic DirectMusicTrack8 tests.
263       dmstyle: COM cleanup for IDirectMusicTrack8 of DMMuteTrack.
264       dmstyle: Remove the extraneous IUnknown from DMMuteTrack.
265       dmstyle: Use the generic IPersistStream for DMMuteTrack.
266       dmstyle: COM cleanup for IDirectMusicTrack8 of DMAuditionTrack.
267       dmstyle: Remove the extraneous IUnknown from DMAuditionTrack.
268       dmstyle: Use the generic IPersistStream for DMAuditionTrack.
269       dmstyle: COM cleanup for IDirectMusicTrack8 of DMMotifTrack.
270       dmstyle: Remove the extraneous IUnknown from DMMotifTrack.
271       dmstyle: Use the generic IPersistStream for DMMotifTrack.
272       kernel32/tests: The result of a comparison is already a BOOL.
273       explorer: Print the debug string and not the pointer to it.
274       riched20: Print the debug string and not the pointer to it.
275       dmstyle: Pass objects instead of ifaces to helpers.
276       dmstyle: COM cleanup for IDirectMusicTrack8 of DMCommandTrack.
277       dmstyle: Remove the extraneous IUnknown from DMCommandTrack.
278       dmstyle: Use the generic IPersistStream for DMCommandTrack.
279       dmstyle: COM cleanup for IDirectMusicTrack8 of DMChordTrack.
280       dmstyle: Remove the extraneous IUnknown from DMChordTrack.
281       dmstyle: Use the generic IPersistStream for DMChordTrack.
282       dmstyle: COM cleanup for IDirectMusicTrack8 of DMStyleTrack.
283       dmstyle: Remove the extraneous IUnknown from DMStyleTrack.
284       dmstyle: Use the generic IPersistStream for DMStyleTrack.
285       dmstyle: Mark IPersistStream_Save() as stub.
286       dmime: Pass objects instead of ifaces to helpers.
287       dmime: DMMarkerTrack doesn't have IDirectMusicTrack8.
288       dmime: DMTimeSigTrack doesn't have IDirectMusicTrack8.
289       dmime/tests: Deal with DMTrack objects without IDirectMusicTrack8.
290       dmime: COM cleanup for IDirectMusicTrack of DMMarkerTrack.
291       dmime: Remove the extraneous IUnknown from DMMarkerTrack.
292       dmime: Use the generic IPersistStream for DMMarkerTrack.
293       dmime: COM cleanup for IDirectMusicTrack of DMTimeSigTrack.
294       dmime: Remove the extraneous IUnknown from DMTimeSigTrack.
295       dmime: Use the generic IPersistStream for DMTimeSigTrack.
296       dmstyle/tests: Remove skips wrongly copied from the dmime tests.
297       dmime: Implement the E_NOTIMPL methods of IDMTrack8 for DMSeqTrack.
298       dmime: Implement the E_NOTIMPL methods of IDMTrack8 for DMSysExTrack.
299       dmime: COM cleanup for IDirectMusicTrack of DMSeqTrack.
300       dmime: Remove the extraneous IUnknown from DMSeqTrack.
301       dmime: Use the generic IPersistStream for DMSeqTrack.
302       dmime: COM cleanup for IDirectMusicTrack of DMSysExTrack.
303       dmime: Remove the extraneous IUnknown from DMSysExTrack.
304       dmime: Use the generic IPersistStream for DMSysExTrack.
305       dmime: Implement the E_NOTIMPL methods in DMLyricsTrack.
306       dmime: COM cleanup for IDirectMusicTrack of DMLyricsTrack.
307       dmime: Remove the extraneous IUnknown from DMLyricsTrack.
308       dmime: Use the generic IPersistStream for DMLyricsTrack.
309       dmime: Implement the E_NOTIMPL methods in DMParamControlTrack.
310       dmime: COM cleanup for IDirectMusicTrack of DMParamControlTrack.
311       dmime: Remove the extraneous IUnknown from DMParamControlTrack.
312       dmime: Use the generic IPersistStream for DMParamControlTrack.
313       dmime: Implement the E_NOTIMPL methods in DMWaveTrack.
314       dmime: COM cleanup for IDirectMusicTrack of DMWaveTrack.
315       dmime: Remove the extraneous IUnknown from DMWaveTrack.
316       dmime: Use the generic IPersistStream for DMWaveTrack.
317       dmime: Implement the remaining E_NOTIMPL methods of IDirectMusicTrack8.
318       dmime/tests: Add some basic IDirectMusicTrack8 tests.
319       dmime: COM cleanup for IDirectMusicTrack of DMSegTriggerTrack.
320       dmime: Remove the extraneous IUnknown from DMSegTriggerTrack.
321       dmime: Use the generic IPersistStream for DMSegTriggerTrack.
322       dmime: COM cleanup for IDirectMusicTrack of DMTempoTrack.
323       dmime: Remove the extraneous IUnknown from DMTempoTrack.
324       dmime: Use the generic IPersistStream for DMTempoTrack.
325       dmsynth: Remove a now unused macro.
326       dmstyle: Remove an unused variable.
327       dmstyle: Remove a not very useful macro.
329 Nikolay Sivov (37):
330       user32: Added stubs for ShutdownBlockReasonCreate/ShutdownBlockReasonDestroy.
331       gdiplus: Check GetMetadataFormat() return value (Coverity).
332       ole32: Handle EnumElements() failure (Coverity).
333       shell32: Fix memory leak on NULL return length (Coverity).
334       winecfg: Fix a leak when applying drive changes (Coverity).
335       winecfg: Fix string buffer length for override settings (Valgrind).
336       oleaut32: Use context redirects when creating typelib marshaler proxy/stub.
337       gdi32: Add a separate helper to load FT_Short values (Coverity).
338       kernel32: Simplify the way EnumCalendarInfo vs EnumCalendarInfoEx are handled internally.
339       kernel32: Implement EnumCalendarInfoExEx().
340       qmgr: Fix WINHTTP_OPTION_CONTEXT_VALUE data pointer (Coverity).
341       dwrite: Update current line count when adding metrics for new line.
342       dwrite: Fix number of clusters effective run is built on.
343       dwrite: Clip range length to text length when updating breakpoints.
344       dwrite: Always set canWrapLineAfter for last cluster.
345       gdi32: Clarify offsets and sizes in vdmx table lookup code.
346       dwrite: Initial layout GetMetrics() implementation.
347       dwrite: Add last cluster width to line width.
348       uxtheme: Partial implementation of DrawThemeTextEx.
349       dwrite: Store layout width/height directly in metrics structure.
350       dwrite: Reset calculated text height before updating it.
351       dwrite: Remove separate line count layout field.
352       dwrite: Make it possible to set text alignment on created layout.
353       dwrite: Implement leading and trailing text alignment modes.
354       dwrite: Implement paragraph alignment.
355       dwrite/tests: Test that pair kerning affects shaping.
356       shell32: Handle string-to-guid conversion errors (Coverity).
357       gdiplus: Remove always true condition (Coverity).
358       shell32/tests: Try harder to close Open With window.
359       dwrite: Remove a couple of useless checks.
360       dwrite: Implement centered text alignment.
361       dwrite: Implement GetPanose().
362       dwrite/tests: Extend GetGdiCompatibleMetrics() test to test DWRITE_FONT_METRICS1 as well.
363       dwrite: Implement GetGdiCompatibleMetrics().
364       dwrite: Implement SetReadingDirection() for layout.
365       dwrite: Fix alignment shifts in RTL case.
366       dwrite: Properly set run origin in DWRITE_READING_DIRECTION_RIGHT_TO_LEFT case.
368 Olivier F. R. Dierick (2):
369       kernel32: Fail gracefully in K32EnumProcessModules with NULL pointer.
370       psapi/tests: Add test for EnumProcessModules with NULL pointer.
372 Piotr Caban (4):
373       msvcirt: Fix ostrstream::ostrstream() constructor stub.
374       msvcrt: Add ismbblead_l implementation.
375       msvcrt: Add _mbscat_s_l implementation.
376       msvcirt: Fix leak in ~ios and ios::init implementation.
378 Sebastian Lackner (51):
379       msvcrt: Set *end to NULL when strtod is called with NULL pointer string.
380       windowscodecs: Distinguish interface and implementation pointer for IcnsEncoder.
381       windowscodecs: Fix build failure on OSX.
382       ntdll: Implement TpSimpleTryPost and basic threadpool infrastructure.
383       ntdll: Implement TpSetPoolMaxThreads.
384       ntdll: Implement TpSetPoolMinThreads.
385       ntdll: Implement threadpool cleanup group functions.
386       ntdll/tests: Add tests for TpAllocCleanupGroup and related functions.
387       ntdll: Implement threadpool work item functions.
388       ntdll/tests: Add basic tests for threadpool work items.
389       ntdll/tests: Add threadpool scheduler tests for work items.
390       ntdll: Add support for threadpool group cancel callback.
391       ntdll/tests: Add tests for threadpool group cancel callback.
392       ntdll: Add support for threadpool finalization callback.
393       ntdll: Implement threadpool RaceDll environment variable.
394       ntdll: Implement instance objects and the TpCallbackMayRunLong function.
395       ntdll: Implement TpCallbackLeaveCriticalSectionOnCompletion.
396       ntdll: Implement TpCallbackReleaseMutexOnCompletion.
397       ntdll: Implement TpCallbackReleaseSemaphoreOnCompletion.
398       ntdll/tests: Add tests for TpCallbackReleaseSemaphoreOnCompletion and finalization callback.
399       ntdll: Implement TpCallbackSetEventOnCompletion.
400       ntdll: Implement TpCallbackUnloadDllOnCompletion.
401       ntdll: Implement TpDisassociateCallback and add a separate group completion event.
402       ntdll/tests: Add tests for TpDisassociateCallback.
403       ntdll: Implement TpAllocTimer and TpReleaseTimer.
404       ntdll: Implement threadpool timer queues.
405       ntdll/tests: Add basic tests for threadpool timer functions.
406       ntdll/tests: Add tests for threadpool timer merging.
407       kernel32: Forward threadpool cleanup group functions to ntdll.
408       kernel32: Forward threadpool work functions to ntdll.
409       kernel32: Forward threadpool timer functions to ntdll.
410       kernel32: Forward threadpool instance functions to ntdll.
411       kernel32: Forward remaining threadpool functions to ntdll.
412       kernel32/tests: Fix leak of threadpool object.
413       ntdll: Implement TpAllocWait and TpReleaseWait.
414       ntdll: Implement threadpool wait queues.
415       ntdll: Implement TpSetWait and TpWaitForWait.
416       ntdll/tests: Add basic tests for threadpool wait objects.
417       ntdll/tests: Add threadpool wait tests with more than 63 objects.
418       ntdll: Try to merge threadpool wait queue buckets if possible.
419       kernel32: Forward threadpool wait functions to ntdll.
420       ntdll: Add missing calls to RtlExitUserThread.
421       ntdll/tests: Add tests for RtlCompressBuffer.
422       ntdll: Implement semi-stub for LZNT1 compression in RtlCompressBuffer.
423       ntdll/tests: Add tests for RtlGetCompressionWorkSpaceSize.
424       ntdll: Implement semi-stub for RtlGetCompressionWorkSpaceSize.
425       ntdll: Implement RtlDecompressFragment.
426       ntdll/tests: Add tests for RtlDecompressBuffer.
427       ntdll/tests: Add tests for RtlDecompressFragment.
428       user32/tests: Add tests for calling GetKeyState from thread without message queue.
429       server: Add fallback to desktop keystate in get_key_state wineserver call.
431 Thomas Faber (7):
432       shell32/tests: Do not leak shell folder references.
433       shell32: Add missing parameter check in ISF_Desktop_fnQueryInterface.
434       shell32: Use QueryInterface in FolderView_GetFolder.
435       shell32/tests: Remove a misleading test.
436       shell32/tests: Fix an ok() print.
437       shell32/tests: Destroy shell view windows.
438       shell32/tests: Test that shell view windows reference their shell view.
440 Vincent Povirk (3):
441       winex11.drv: Track external changes to _NET_WM_STATE in net_wm_state.
442       ole32: Add a storage test using a custom ILockBytes.
443       ole32: Use grfLocksSupported to decide when LockRegion is implemented.
445 YongHao Hu (3):
446       msvcp110: Add tr2_sys__Copy_file implementation and test.
447       msvcp110: Add tr2_sys__Rename implementation and test.
448       msvcp110: Add tr2_sys__Statvfs implementation and test.
450 Zhenbo Li (5):
451       mshtml: Add IHTMLXMLHttpRequestFactory::create() method implementation.
452       mshtml: Add IHTMLXMLHttpRequest:open() method implementation.
453       mshtml: Add IHTMLXMLHttpRequest::readyState property implementation.
454       mshtml/tests: Wait for the document to be completely loaded.
455       mshtml: Add IHTMLXMLHttpRequest::send() method implementation.
458 Alexandre Julliard
459 julliard@winehq.org