crypt32: Allow imprecision of one millisecond in time decoding to fix test failures...
[wine.git] / ANNOUNCE
blob0cdc078e81e11bc1e2e4b52a0891ff1de7584d1e
1 This is release 0.9.46 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
4   - A variety of fixes to improve Photoshop CS2 support.
5   - More complete support for device installation in setupapi.
6   - New Bidi text implementation that doesn't depend on libicu.
7   - The usual assortment of Direct3D improvements.
8   - Beginning of I/O completion ports support.
9   - Lots of bug fixes.
11 Because of lags created by using mirrors, this message may reach you
12 before the release is available at the public sites. The sources will
13 be available from the following locations:
15   http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.46.tar.bz2
16   http://prdownloads.sourceforge.net/wine/wine-0.9.46.tar.bz2
18 Binary packages for various distributions will be available from:
20   http://www.winehq.org/site/download
22 You will find documentation on
24   http://www.winehq.org/site/documentation
26 You can also get the current source directly from the git or CVS
27 repositories. Check respectively http://www.winehq.org/site/git or
28 http://www.winehq.org/site/cvs for details.
30 If you fix something, please submit a patch; instructions on how to do
31 this can be found at http://www.winehq.org/site/sending_patches
33 Wine is available thanks to the work of many people. See the file
34 AUTHORS in the distribution for the complete list.
36 ----------------------------------------------------------------
38 Changes since 0.9.45:
40 Alex Villacís Lasso (8):
41       iccvid: Guard against null pointer reference.
42       riched20: Prevent overflow on richedit debug channel.
43       riched20: Tests show WM_GETTEXT change \r to \r\n.
44       riched20: Fix WM_GETTEXT to change \r to \r\n.
45       riched20: EM_SETCHARFORMAT must return 1 on success, not 0.
46       riched20: EM_SETCHARFORMAT must return 0, not assert, on invalid struct size.
47       riched20: EM_SETCHARFORMAT must fail and return 0 with  TM_PLAINTEXT and SF_SELECTION.
48       riched20: Minimal fix for WM_SETTEXT without ES_MULTILINE style.
50 Alexandre Julliard (62):
51       wininet/ftp: There's no need to query the file size before retrieving a file.
52       ntdll: Fix an error message.
53       user32/tests: Properly flush events in the update rect tests.
54       comctl32: We can now store binary files in the repository.
55       comdlg32: We can now store binary files in the repository.
56       user32: We can now store binary files in the repository.
57       shell32: We can now store binary files in the repository.
58       ole32: We can now store binary files in the repository.
59       msi: We can now store binary files in the repository.
60       cards: We can now store binary files in the repository.
61       comctl32/tests: We can now store binary files in the repository.
62       user32/tests: We can now store binary files in the repository.
63       itss/tests: We can now store binary files in the repository.
64       gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the clipping functions.
65       gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the painting functions.
66       gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the bitmap functions.
67       gdi32: Replace remaining instance of DC_GetDCUpdate by get_dc_ptr+update_dc.
68       gdi32: Update the DC in most OpenGL functions.
69       winex11.drv: Invalidate the DCE when the window format is changed.
70       cmd.exe: We can now store binary files in the repository.
71       cmdlgtst.exe: We can now store binary files in the repository.
72       msiexec.exe: We can now store binary files in the repository.
73       oleview.exe: We can now store binary files in the repository.
74       regedit.exe: We can now store binary files in the repository.
75       taskmgr.exe: We can now store binary files in the repository.
76       uninstaller.exe: We can now store binary files in the repository.
77       winecfg.exe: We can now store binary files in the repository.
78       winefile.exe: We can now store binary files in the repository.
79       winemine.exe: We can now store binary files in the repository.
80       winetest.exe: We can now store binary files in the repository.
81       wordpad.exe: We can now store binary files in the repository.
82       tools: Remove the no longer needed bin2res tool.
83       msvcrt: Added implementation for __STRINGTOLD.
84       msvcrt: Added implementation of a few more __crt functions.
85       winex11.drv: If a window is not resizable through the window manager fall back to non-managed resizing.
86       winex11.drv: Update the wm hints when the window frame is changed.
87       ntdll/tests: Skip the debugger test if the child process is not loaded at the right address.
88       server: Clip the visible region of a window to the desktop window.
89       loader: Set the address space limit before starting the preloader.
90       winex11.drv: Don't call GDI functions while holding the xrender lock.
91       setupapi: Simplify the SetupDiGetClassDescriptionExA/W implementation.
92       gdi32: Don't hold the GDI lock while calling the driver mapping functions.
93       gdi32: Don't hold the GDI lock while calling the driver path functions.
94       gdi32: Don't hold the GDI lock while calling the driver painting functions.
95       gdi32: Don't hold the GDI lock while calling the driver OpenGL functions.
96       gdi32: Don't hold the GDI lock while calling the driver clipping functions.
97       gdi32: Don't hold the GDI lock while calling the driver printer functions.
98       ole32/tests: Remove test that tries to create a huge file on Windows.
99       wineps.drv: Fix end of list check in PSDRV_UpdateDevCaps().
100       wineconsole: Default to the user backend, falling back to curses if we can't create a window.
101       gdi32: Don't hold the gdi lock while creating a DC.
102       gdi32: Don't hold the gdi lock while calling DC driver functions.
103       gdi32: Don't pass a DC handle to WineEngGetFontUnicodeRanges.
104       gdi32: Move the generic part of FontIsLinked() to font.c.
105       winex11.drv: Don't call GDI functions while holding the X11 lock.
106       gdi32: Fix typo in FIXME (spotted by Rob Shearman).
107       rpcrt4/tests: Remove static keywords that hide test failures.
108       winex11.drv: Always drag the full window for top-level windows to avoid having to grab the server.
109       gdi32: Don't pass an object pointer to the SelectObject backend functions.
110       gdi32: Move the object refcount handling to the SelectObject backend functions.
111       gdi32: Don't hold the GDI lock while calling the SelectObject backends.
112       gdi32: Don't hold the GDI lock while calling the driver SelectFont function.
114 Anatoly Lyutin (2):
115       user32/tests: Fix test for switch maximized MDI children.
116       gdi32: printdrv: Use umask for creating a spool file.
118 Andrew Talbot (13):
119       crypt32: Fix some memory leaks.
120       dmband: Fix a memory leak.
121       dmcompos: Indirection level fix.
122       dswave: Indirection level fix.
123       dmscript: Indirection level fix.
124       dmsynth: Indirection level fix.
125       dmusic: Indirection level fix.
126       dpnet: Indirection level fix.
127       dplayx: Fix some memory leaks.
128       gdi32: Fix a memory leak.
129       itss: Fix a typo.
130       gdiplus: Fix some memory leaks.
131       kernel32: Fix a memory leak.
133 Andrey Turkin (3):
134       server: Implement server-side completion queues and operations on them.
135       server: Allow completion object to be attached to an fd object.
136       kernel32: Pass completion value to ntdll layer.
138 Carroll Vance (1):
139       ntoskrnl.exe: Added PsCreateSystemThread.
141 Chris Robinson (6):
142       gdi32: Don't hold the GDI lock when setting the pixel format.
143       wgl: Store the fbconfig id with the window when a pixel format is set.
144       wgl: Don't set a pixel format on windows that already have one.
145       winex11.drv: Load the XComposite extension when available.
146       wgl: Override glFinish and glFlush.
147       winex11: Be compatible with older XComposite headers.
149 Christian Gmeiner (1):
150       advapi32: fix some compiler warnings when using -Wsign-compare.
152 Clinton Stimpson (4):
153       riched20: Add test for event masks and notifications.
154       riched20: Add tests for text limit behavior.
155       riched20: Adjust event mask when sending EN_CHANGE notification.
156       riched20: Only WM_CHAR respects text limit.
158 Dan Hipschman (11):
159       widl: Fix alignment comments.
160       widl: Implement pointer descriptions for complex structures.
161       widl: Handle all buffer sizes.
162       widl: Implement complex arrays.
163       widl: Set the pointer description offset to zero if there are no pointers.
164       widl: Respect pointer attributes better.
165       widl: Handle top-level conformance for complex arrays.
166       widl: Clean up write_conf_or_var_desc with string_of_type.
167       widl: Fix top-level conformant arrays with pointer attributes.
168       widl: Fix string codes in pointer descriptions.
169       widl: Fix array alignment bug.
171 Detlef Riekenberg (3):
172       comdlg32/tests: Add tests for PRINTDLG->hDevNames.
173       comdlg32/tests: Remove debug code and the tabs.
174       ntdll: Avoid segfault with snoop for exefiles with a broken export table.
176 Dmitry Timoshkov (6):
177       winex11.drv: Use symbolic names for MapVirtualKey translation types.
178       kernel32: Add a test for rw mapping of a read-only section.
179       kernel32: Print last error in failure messages of the MapViewOfFile test.
180       gdi32: Use symbolic names for font tags.
181       kernel32: Add a test for read-only mapping of a write-only section, test actual page access rights of the mapping.
182       user32: Make message test pass cleanly under XP SP2.
184 EA Durbin (1):
185       winecfg: Implement audio test.
187 Francois Gouget (24):
188       imagehlp: Fix the PTRANSLATE_ADDRESS_ROUTINE() and PREAD_PROCESS_MEMORY_ROUTINE() prototypes.
189       dbghelp: Add some missing prototypes and types.
190       ntdll: Fix compilation on systems that don't support nameless unions.
191       dbghelp & imagehlp: Fix the PSYM_ENUMSYMBOLS_CALLBACK() and PSYM_ENUMERATESYMBOLS_CALLBACK() prototypes.
192       wintrust: Fix compilation on systems that don't support nameless unions.
193       shell32: CSIDL_MYDOCUMENTS is now a synonym for CSIDL_PERSONAL.
194       advapi32: Add and use LSTATUS.
195       imagehlp: Add SYMBOL_INFO_PACKAGE and SymSetSearchPathW().
196       wordpad: Fix compilation on systems that don't support nameless unions.
197       dnsapi: Fix the DnsQueryConfig() prototype.
198       dbghelp: Fix the PENUMLOADED_MODULES_CALLBACK() prototype.
199       regstr.h only defines constants and structures and thus does not need an extern "C" statement.
200       gdiplus: Make gdiplustypes.h C++ compatible.
201       mpr: Move MAX_INTERFACE_NAME_LEN to mprapi.h and add related constants.
202       fci.h: Include basetsd.h.
203       infosoft: indexsrv.idl must import objidl.idl and not unknwn.idl.
204       gdi32: Add a '\n' to a Wine trace.
205       wineoss.drv: Add support for $MIDIDEV to match $AUDIODEV and $MIXERDEV.
206       riched20/tests: Add '\n's to ok() calls.
207       includes: Remove unneeded extern "C" statements.
208       includes: Make headers C++ compatible.
209       ntoskrnl.exe: Fix the PsCreateSystemThread() prototype and declare it in wdm.h.
210       winapi: Assorted win32.api updates.
211       Assorted spelling fixes.
213 Gerald Pfeifer (1):
214       README: Update minimal system requirements for FreeBSD.
216 Hans Leidekker (3):
217       msvcrt: Implement _wsearchenv.
218       msvcrt: Implement _wspawnv{, e, p, pe}.
219       kernel32: Check for NULL output buffer in FormatMessage{A, W}.
221 Hwang YunSong(황윤성) (2):
222       mshtml: Updated Korean resource.
223       wordpad: Updated Korean resource.
225 Jacek Caban (31):
226       mshtml: Store HTMLElement struct instead of pointer in HTMLAnchorElement.
227       mshtml: Store HTMLElement struct instead of pointer in HTMLBodyElement.
228       mshtml: Added get_body test.
229       mshtml: Store HTMLElement struct instead of pointer in HTMLInputElement.
230       mshtml: Store HTMLElement struct instead of pointer in HTMLSelectElement.
231       mshtml: Store HTMLElement struct instead of pointer in HTMLTextAreaElement.
232       mshtml: Make HTMLBodyElement child object of HTMLTextContainer.
233       mshtml: Don't use node_type from HTMLNode object.
234       mshtml: Get rid of node_type variable in HTMLNode object.
235       mshtml: Forward node ref calls to IHTMLDOMNode interface.
236       mshtml: Return NULL for empty results in get_style_attr.
237       mshtml: Added more IHTMLStyle getters implementation.
238       mshtml: Added HTMLStyle::get_textDecoration* implementation.
239       mshtml: Added get_styleSheets implementation.
240       mshtml: Added IHTMLStyleSheetsCollection::get_length implementation.
241       mshtml: Fixed IHTMLTxtRange::get_text implementation with no nsrange associated.
242       mshtml: Added more tests.
243       mshtml: Added Exec(IDM_FONT) stub implementation.
244       shdocvw: Added WebBrowser::FullScreen property implementation.
245       shdocvw: Added WebBrowser::Resizable property implementation.
246       mshtml: Don't crash in UIActivate if Gecko is not available.
247       hlink: Added HlinkGetSpecialReference stub.
248       mshtml: Added IHTMLDocument5 interface stub implementation.
249       mshtml: Added get_compatMode implementation.
250       mshtml: Added IHTMLElement2::put_scrollTop and put_scrollLeft implementation.
251       mshtml: Forward IHTMLTextContainer::put_scrollTop and put_scrollLeft calls to IHTMLElement2 interface.
252       mshtml: Ignore app's User-Agent header and Content-Type if there is no data to post.
253       mshtml: Added IDM_COPY in browse mode implementation.
254       mshtml: Added generic get_nsinterface function and use it in get_ns_command_state.
255       mshtml: Use get_nsinterface in exec_print and do_ns_command.
256       mshtml: Use get_nsinterface in set_ns_editmode and get_editor_controller.
258 James Hawkins (6):
259       user32: Add tests for the DDE pack functions.
260       user32: Set uiLo and uiHi to zero on error.
261       kernel32: Fix the case where memory is freed twice in GlobalFree.
262       kernel32: Return TRUE for all pointer params in GlobalUnlock.
263       kernel32: Don't crash accessing an invalid handle in GlobalSize.
264       user32: Add a test that shows ddeml string handles use local atoms.
266 Jeff Latimer (1):
267       mpr: Check for out of memory condition.
269 Juan Lang (112):
270       msi: Don't crash if record has no fields.
271       msi: Make sure nested is initialized.
272       msi: Initialize nested.
273       wininet: Create a TCP connection if FLAG_ICC_FORCE_CONNECTION is specified.
274       crypt32: Update comments.
275       crypt32: Add a test of an indefinite-length sequence.
276       crypt32: Correct GET_LEN_BYTES for the indefinite-length form.
277       crypt32: Correct an optimization.
278       crypt32: Fix alignment on 64-bit systems.
279       crypt32: Use a simpler prototype for array decoding functions.
280       crypt32: Add a decoded parameter to AsnDecodeSequence.
281       crypt32: Make a decode OID function that returns the number of bytes decoded.
282       crypt32: Return bytes decoded when decoding a sequence.
283       crypt32: Return bytes decoded when copying DER-encoded bytes.
284       crypt32: Return bytes decoded when decoding an alt name entry.
285       crypt32: Pass bytes decoded pointer to AsnDecodeArray.
286       crypt32: Return bytes decoded from AsnDecodeArray.
287       crypt32: Remove an unneeded WINAPI.
288       crypt32: Introduce a helper function to get encoded length that allows indefinite-length encoding.
289       crypt32: Set bytes decoded in all success paths.
290       crypt32: Support indefinite-length encoded arrays.
291       crypt32: Allow items in an array to be indefinite-length encoded.
292       crypt32: Use simpler form for internal time decoding functions.
293       crypt32: Separate DecodeInt into an internal and external version.
294       crypt32: Move a comment that belonged elsewhere.
295       crypt32: Introduce a space checking helper for functions that don't allocate memory and use it where appropriate.
296       crypt32: Use internal decode int function a couple more places.
297       crypt32: Temporarily change prototype of AsnDecodeIntInternal to the CryptDecodeObjectEx form.
298       crypt32: Use AsnDecodeIntInternal where an internal function is called for.
299       crypt32: Implement DecodeAltName with DecodeAltNameInternal.
300       crypt32: Don't use exception handler when decoding time zone, caller already does.
301       crypt32: Get rid of encoding type from AsnDecodeSequenceItems, it's never checked.
302       crypt32: Get rid of encoding type argument to AsnDecodeSequence, it isn't used.
303       crypt32: Use internal form for all internal decoding functions.
304       crypt32: Set *pcbDecoded in every function.
305       crypt32: Allow a sequence to have an indefinite-length encoding.
306       crypt32: Simplify DecodePathLenConstraint.
307       crypt32: Allow indefinite-length encoding of sequence items.
308       crypt32: Simplify AsnDecodeSequenceItems a tiny bit.
309       crypt32: Use correct encoded length when decoding a sequence.
310       crypt32: Test and correct decoding indefinite-length-encoded PKCS content.
311       crypt32: Explicitly count bytes to copy in DecodeCopyBytes.
312       crypt32: ret is already true, don't retest it.
313       crypt32: Use decode function's returned decoded length to advance pointer when decoding an array.
314       crypt32: Pass length rather than entire message to CRYPT_EncodeContentLength.
315       crypt32: Implement streamed encoding of an indefinite-length data message.
316       crypt32: Fix alignment for 64-bit systems.
317       setupapi: Correct type to match PSDK.
318       setupapi: Fix return type.
319       setupapi: Fix typo.
320       setupapi: Add missing prototypes and definitions, and change function prototypes to match.
321       setupapi: Add tests for SetupDiCreateDeviceInfo.
322       setupapi: Add stubs for SetupDiGetDeviceInstanceIdA/W.
323       setupapi: Add tests for SetupDiGetDeviceInstanceId.
324       setupapi: Add a placeholder for devices.
325       setupapi: Implement SetupDiEnumDeviceInfo.
326       setupapi: Implement SetupDiGetDeviceInstanceIdA on top of SetupDiGetDeviceInstanceIdW.
327       setupapi: Add error checking to SetupDiCreateDeviceInfoW stub.
328       setupapi: Implement SetupDiCreateDeviceInfoW.
329       setupapi: Implement SetupDiGetDeviceInstanceIdW.
330       setupapi: Implement SetupDiGetDeviceRegistryPropertyA/W.
331       setupapi: Implement SetupDiSetDeviceRegistryPropertyA/W.
332       setupapi: Make a helper to convert a GUID to a string.
333       setupapi: Save device description to registry when creating a device.
334       setupapi: Save class GUID to registry when creating a device.
335       setupapi: Devices created by SetupDiCreateDeviceInfo are "phantoms", and are deleted from the registry when the set that contains them is closed.
336       setupapi: Implement SetupDiGetClassDescriptionExA.
337       setupapi: Add stub for SetupDiRegisterDeviceInfo.
338       setupapi: Add tests for SetupDiRegisterDeviceInfo.
339       setupapi: Implement SetupDiRegisterDeviceInfo.
340       setupapi: Implement SetupDiGetClassDevsW.
341       setupapi: Respect samDesired in SetupDiOpenClassRegKeyExW.
342       setupapi: Set last error on failure in SetupDiOpenClassRegKeyExW.
343       setupapi: Add stubs for SetupDiCreateDeviceInterfaceA/W.
344       setupapi: Add tests for SetupDiCreateDeviceInterface.
345       setupapi: Implement SetupDiCreateDeviceInterfaceA on top of SetupDiCreateInterfaceW.
346       setupapi: Add error checking to SetupDiCreateDeviceInterfaceW stub.
347       setupapi: Remove a redundant parameter check.
348       setupapi: Set last error on invalid input.
349       setupapi: Implement SetupDiCreateDeviceInterfaceW.
350       setupapi: Implement SetupDiEnumDeviceInterfaces.
351       setupapi: When enumerating an interface, add the interface to its device.
352       setupapi: Add tests for SetupDiGetDeviceInterfaceDetail.
353       setupapi: Implement SetupDiGetDeviceInterfaceDetailA/W.
354       setupapi: Add test showing value of path.
355       setupapi: Create symbolic link value when interface is created.
356       setupapi: Fix prototype of SetupDiCreateDeviceInterfaceRegKeyA/W.
357       setupapi: Convert device's interfaces to a standard list.
358       setupapi: Add stubs for SetupDiCreateDeviceInterfaceRegKeyA/W.
359       setupapi: Store pointer to an interface's device in the interface instance.
360       setupapi: Return the interface's device from SetupDiGetDeviceInterfaceDetailA/W.
361       setupapi: Implement SetupDiCreateDeviceInterfaceRegKeyA/W.
362       setupapi: Store pointer to set in device, and use it to make sure that a device is a member of a set.
363       setupapi: Save interface to registry when creating it.
364       setupapi: Implement SetupDiDeleteDeviceInterfaceRegKey.
365       setupapi: When freeing an interface, delete it from the registry if its device is a phantom.
366       setupapi: Implement SetupDiGetDeviceInfoListDetailA/W.
367       setupapi: Partially implement SetupDiGetClassDevsExW.
368       setupapi: Implement SetupDiGetClassDevsW on top of SetupDiGetClassDevsExW.
369       setupapi: Implement SetupDiGetClassDevsA on top of SetupDiGetClassDevsExW.
370       setupapi: Implement SetupDiGetClassDevsExA.
371       crypt32: Partially implement CryptQueryObject.
372       crypt32: Fix CryptQueryObject for embedded PKCS7 signatures.
373       crypt32: Support PKCS messages wrapped in a PKCS content info in CryptQueryObject.
374       crypt32: Add/improve some traces.
375       crypt32: Rename a couple of functions.
376       crypt32: Add a function to serialize a store to an arbitrary stream.
377       crypt32: Implement CRYPT_WriteSerializedStoreToFile using CRYPT_WriteSerializedStoreToStream.
378       crypt32: Add definitions used by CertSaveStore.
379       crypt32: Implement CertSaveStore.
380       crypt32: Use CertSaveStore to save file stores.
381       crypt32: Move CertSaveStore to serialize.c.
383 Karl Relton (1):
384       msvcrt: New implementation of fcvt.
386 Konstantin Kondratyuk (2):
387       mpr: Correct usage of dwScope and dwEnumScopes.
388       include/npapi.h: Add some constants.
390 L. Rahyen (1):
391       user32: Implement initial stubs for all raw input functions.
393 Lionel_Debroux (2):
394       mlang: Fix memory leaks in error path (found by Smatch).
395       mlang: Fix memory leaks in error paths (found by Smatch).
397 Louis Lenders (2):
398       wtsapi32: Add stub for WTSRegisterSessionNotification.
399       wtsapi32: Add stub for WTSUnRegisterSessionNotification.
401 Maarten Lankhorst (10):
402       gdi: Remove support for libicu and all dependencies.
403       gdi: Implement BiDi classification of characters and copying according to them.
404       gdi: Implement explicit resolving in BiDi.
405       gdi: Implement weak resolving in BiDi.
406       gdi: Implement neutrals resolving in BiDi.
407       gdi: Implement implicit resolving in BiDi.
408       gdi: Implement line-by-line phase of the BiDi algorithm.
409       wineoss: Silence some harmless warnings.
410       dsound: Check if hardware buffer is big enough before accepting it.
411       wineoss: Only initialise midi once.
413 Michael Stefaniuc (7):
414       mshtml: Move 'inline' to the beginning of the declaration directly after the storage specifier.
415       janitorial: Remove two fresh redundant NULL checks before HeapFree(). Found by Smatch.
416       kernel32: Fix a memory leak. Found by cross referencing Andrew Talbot's list of potential memory leaks with Smatch's view of the same problem.
417       ole32: Free memory on error path (found by Smatch).
418       advapi32: Move the storage specifier to the beginning of the declaration.
419       crypt32: Add missing parameter to a TRACE.
420       server: Include stdarg.h in completion.c. Needed for older gcc versions.
422 Mikolaj Zalewski (26):
423       gdi32: Store child font links as pointers to struct Face instead of filename/index.
424       gdi32: Implement AddFontMemResourceEx (based on a patch of Byeong-Sik Jeon).
425       gdi32: If freetype fails try to load manually fonts wrapped as PE resources.
426       gdi32: Return the correct font type, ntmFlags and PitchAndFamily for Type1 fonts.
427       advapi32: QueryObjectSecurity should return a self-relative security descriptor and not overflow the buffer.
428       winex11.drv: wintab: Add a missing break.
429       winex11.drv: wintab: Add missing CTX_PKTDATA support.
430       winex11.drv/wintab32: Make wintab strings in winex11.drv Unicode, implement WTInfoW.
431       wintab32: Store the context internally as Unicode, implement WTOpenW and WTGetW.
432       wintab32: Add DisableThreadLibraryCalls.
433       advapi32: Fix a test.
434       ntdll: Add RtlAddAuditAccessAceEx.
435       advapi32: Add AddAuditAccessAceEx.
436       advapi32: Make ConvertStringSidToSid not to ignore the first subauthority.
437       wine.inf: add four keys found on Windows XP to Active Setup\Installed Components.
438       include: Fix the definition of VALID_INHERIT_FLAGS.
439       advapi32: Implement ConvertSecurityDescriptorToStringSecurityDescriptor[AW].
440       advapi32: Make ConvertSidToStringSid use helper functions of ConvertSecurityDescriptorToStringSecurityDescriptor.
441       advapi32: The lpServiceStartName should default to LocalSystem for Win32 services.
442       msi: Add some already implemented function to the spec file.
443       advapi32/ntdll: MakeRelativeSD should preserve NULL pointers (with testcase).
444       advapi32/ntdll: GetSecurityDescriptorOwner/Group should fill isDefaulted also for NULL sids.
445       advapi32: Make ConvertStringSecurityDescriptorToSecurityDescriptor write the ACL.
446       advapi32: In ConvertStringSecurityDescriptorToSecurityDescriptor "AU" should be checked before "A" (with testcase).
447       advapi32: Implement GetPrivateObjectSecurity (with test).
448       advapi32: Fix GetServiceDisplayNameA for cchBuffer == 0.
450 Mikołaj Zalewski (3):
451       advapi32: Add some more rights constants for ConvertStringSecurityDescriptorToSecurityDescriptor.
452       shell32: Make the shell view control Unicode.
453       shell32: shlview: Change some more ANSI calls to Unicode.
455 Misha Koshelev (3):
456       wininet: Track child handles, free all child handles on WININET_FreeHandle as native.
457       wininet/tests: Add test to show that InternetCloseHandle closes open child handles too.
458       wininet: When sending INTERNET_STATUS_HANDLE_CLOSING make sure the freed handle is not yet available.
460 Peter Oberndorfer (5):
461       configure: Recognize i686-mingw32 prefix for crosscompiling.
462       include: Add new processor feature constants.
463       user32/tests: Fix dialog proc prototypes.
464       ntdll: NtAreMappedFilesTheSame semi stub.
465       winhttp: Add WinHttpGetIEProxyConfigForCurrentUser stub.
467 Philip Nilsson (2):
468       ws2_32: Set IPV6_V6ONLY when required to be compatible with Windows.
469       ws2_32/tests: Add a testcase for binding with IPv6 and IPv4 on the same port.
471 Rob Shearman (12):
472       credui: The pszUserName parameter in CredUIPromptForCredentialsW is in/out so dump the string on entry to the function.
473       widl: Initialise cval in make_expr.
474       widl: Fix detection of complex arrays.
475       widl: Add support for strings embedded in structures.
476       widl: Fix write_string_tfs for strings declared as arrays.
477       widl: Missing size_is or length_is attributes should generate 0xffffffff for the correlation description.
478       widl: None of the non-fixed arrays have fixed sizes, so don't set the alignment to anything and return a size of 0 from get_required_buffer_size_type.
479       rpcrt4: Fix a copy-and-paste error in RpcAuthInfo_Release that caused a double free of memory.
480       rpcrt4: Implement RpcSmDestroyClientContext and RpcSsDestroyClientContext.
481       userenv: Add a stub for UnloadUserProfile.
482       widl: Write prototypes for context handle rundown rountines into generated header files.
483       widl: Generate client and server code for using context handles.
485 Roderick Colenbrander (6):
486       wined3d: Don't create a pbo for system memory surfaces.
487       wined3d: Update list of pci ids.
488       wined3d: Add pbo support for compressed textures.
489       wined3d: Better video memory reporting.
490       wined3d: The amount of video memory is set in FillGLCaps unless overridden using a registry option.
491       wined3d: Move video memory tracking to the adapter.
493 Stefan Dösinger (45):
494       wined3d: Add D3DSI_TEXLD_PROJECT and BIAS to d3d9types.h.
495       wined3d: Add a fixme for D3DCMP_NOTEQUAL and D3DCMP_EQUAL.
496       wined3d: Use GL_NV_depth_clamp to implement clipping disable.
497       wined3d: Do not allocate memory if there's a pbo.
498       wined3d: Do not invalidate the sysmem copy if a pbo exists.
499       wined3d: Start of some surface cleanup.
500       wined3d: Move resource methods to the base surface class.
501       wined3d: Move non-rendering surface specific code to the base class.
502       wined3d: Base surface move, part 2.
503       wined3d: Reorder surface impl predeclarations.
504       wined3d: Clean up SetGLTextureDesc and GetGLDesc.
505       wined3d: Clean up SetFormatDesc.
506       wined3d: Clean up AddDirtyRect.
507       wined3d: Clean up SetMem.
508       wined3d: Clean up IWineD3DSurface::ReleaseDC.
509       wined3d: Remove a pbo check.
510       wined3d: Move DIB section creation to the base surface implementation.
511       wined3d: Give GDI surfaces their own GetDC copy.
512       wined3d: Move lastActiveRenderTarget cleanup to the device.
513       wined3d: Give GDI surfaces their own release implementation.
514       wined3d: Move the software blitting to the base surface class.
515       wined3d: Untie culling and offscreen rendering.
516       wined3d: Set the stencil mask for both faces.
517       wined3d: Fix a copypaste error.
518       wined3d: Enable the stencil test if two sided stencil is used.
519       wined3d: Disable two sided stencil if it is supported, but not enabled.
520       wined3d: Keep the selected stencil setup face set to GL_FRONT.
521       wined3d: Fix a typo in shader_glsl_cross.
522       wined3d: Check for NULL streams.
523       wined3d: Fix a typo in the surface code.
524       wined3d: Add signed format conversion for glsl.
525       wined3d: Recompile glsl pixelshaders if the sampler format changes.
526       wined3d: Unify pixel format correction.
527       wined3d: SRGB write correction emulation.
528       wined3d: A0 needs the .x swizzle.
529       wined3d: Put V8U8 back into the UNKNOWN format group.
530       wined3d: Improve projected texture handling in arb.
531       wined3d: Add support for some unimplemented instructions to arb shaders.
532       wined3d: Implement WINED3DSI_TEXLD_BIAS in arb.
533       wined3d: Add modifier handling to cnd in arb.
534       wined3d: Handle modifiers in cmp.
535       wined3d: Add crs and pow instruction support.
536       wined3d: Add dp2add support to arb shaders.
537       wined3d: Implement the nrm instruction in arb.
538       wined3d: Add sincos support to arb shaders.
540 Stefan Leichter (9):
541       dinput8: Remove 'recursive registry key delete' function.
542       dinput: Remove 'recursive registry key delete' function.
543       ddrawex: Remove 'recursive registry key delete' function.
544       ddraw: Remove 'recursive registry key delete' function.
545       d3dxof: Remove 'recursive registry key delete' function.
546       comcat: Remove 'recursive registry key delete' function.
547       browseui: Remove 'recursive registry key delete' function.
548       amstream: Remove 'recursive registry key delete' function.
549       ole32: Added version resource for ole2nls.dll.
551 Thomas Weidenmueller (1):
552       shell32: Implement SHCreatePropSheetExtArrayEx.
554 Tijl Coosemans (2):
555       ws2_32/tests: Don't wait for FD_CONNECT event when non-blocking connect() was successful.
556       msvcrt: Resolve symbols clashes with FreeBSD libc.
558 Vitaliy Margolen (6):
559       mshtml: Fix typo.
560       mshtml: Fix another typo and add trace.
561       dinput: Move get_config_key to a common place.
562       dinput: Add a helper function to open configuration registry keys.
563       dinput: Make default dead zone configurable.
564       dinput: Implement GetDeviceInfo for evdev joystick.
567 Alexandre Julliard
568 julliard@winehq.org