iphlpapi: Correct GetBestRoute when there is no route.
[wine/hacks.git] / ANNOUNCE
blobd1a4138022a24e3dfc6587cdcac81023f0689f52
1 This is release 0.9.47 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
4   - New scheme for OpenGL support in child windows.
5   - Lots of fixes for regression test failures.
6   - A Tahoma replacement font.
7   - Lots of bug fixes.
9 Because of lags created by using mirrors, this message may reach you
10 before the release is available at the public sites. The sources will
11 be available from the following locations:
13   http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.47.tar.bz2
14   http://prdownloads.sourceforge.net/wine/wine-0.9.47.tar.bz2
16 Binary packages for various distributions will be available from:
18   http://www.winehq.org/site/download
20 You will find documentation on
22   http://www.winehq.org/site/documentation
24 You can also get the current source directly from the git or CVS
25 repositories. Check respectively http://www.winehq.org/site/git or
26 http://www.winehq.org/site/cvs for details.
28 If you fix something, please submit a patch; instructions on how to do
29 this can be found at http://www.winehq.org/site/sending_patches
31 Wine is available thanks to the work of many people. See the file
32 AUTHORS in the distribution for the complete list.
34 ----------------------------------------------------------------
36 Changes since 0.9.46:
38 Alexandre Julliard (26):
39       msvcirt: Added stub implementation of msvcirt.dll.
40       comctl32/tests: Avoid destroying a DPA twice.
41       mshtml: The HTMLDocument URL is a standard WCHAR string, not a BSTR.
42       msi: Avoid accessing a freed object.
43       user32/tests: Compare against ASCII string first since it may not be a valid Unicode string in that case.
44       shlwapi: Fix GetAcceptLanguagesA to not read past the end of the buffer.
45       ntdll: Clear heap blocks also for WARN_ON(heap).
46       ntdll: Remove assumptions that the subheap is at the beginning of the memory block.
47       ntdll: Convert the subheap list to a standard list.
48       ntdll: Make the heap structure more compatible with the NT layout.
49       kernel32: Improve tracing in GlobalAlloc.
50       server: Add a default access mapping function for files, and use it for devices too.
51       imagehlp: Fixed UpdateDebugInfoFile definition.
52       user32/tests: Replace GWL_WNDPROC by GWLP_WNDPROC.
53       winenas.drv: Add workaround for INT64 type too.
54       ntdll: Fix the HEAP_CreateSubHeap return value (spotted by Allan Tong).
55       kernel32: Use FIELD_OFFSET instead of pointer cast.
56       server: Use the file_pos_t type for file sizes and offsets in the protocol structures.
57       winex11: Use ExtEscape to flush the GL drawable to the physdev.
58       winex11: Don't store a physdev pointer in the GL context.
59       msvcrt: Fix demangling of function pointers by maintaining the left/right distinction for type references.
60       winex11: Add generic mechanism for managing WM_STATE properties.
61       winex11: Set the SKIP_PAGER and SKIP_TASKBAR styles on tool windows.
62       winex11: Reuse the mwm hints when computing the window X11 rectangle.
63       winex11: Don't use a window manager border for a simple WS_BORDER-style border.
64       kernel32: Get rid of the NLS_RegOpenSubKey function, its behavior is broken.
66 Andrew Talbot (11):
67       msvfw32: Fix a memory leak.
68       ole32: Fix some memory leaks.
69       oleaut32: Fix some memory leaks.
70       secur32: Fix some memory leaks.
71       shell32: Fix some memory leaks.
72       urlmon: Fix some memory leaks.
73       winealsa.drv: Fix a memory leak.
74       wined3d: Fix a memory leak.
75       wineps.drv: Fix some memory leaks.
76       wineps.drv: Fix some memory leaks.
77       wininet: Fix a memory leak.
79 Andrey Turkin (3):
80       dbghelp: Avoid crashing on files with bogus export table.
81       libwine: Emulate MS linker stub for builtin dlls.
82       wine.inf: Add Protected Storage System Provider key.
84 Aric Stewart (2):
85       msdmo: Implement DMOGetTypes.
86       msdmo: Improve registration and reading of codecs.
88 Chris Robinson (12):
89       winex11: Store a GL-specific drawable with the window.
90       wgl: Remove GL scissors/viewport override.
91       winex11: Use an offscreen redirected window for child OpenGL rendering.
92       winex11: Pass a display parameter when destroying glxpixmaps.
93       winex11: Track async GL drawable changes.
94       winex11: Use a GLXPixmap for offscreen OpenGL rendering when XComposite isn't available.
95       winex11: Load and use GLX_MESA_copy_sub_buffer for swapping buffers on a GLXPixmap.
96       wined3d: Prevent some console spamming.
97       winex11: Create GLXPixmap for bitmaps in SetPixelFormat.
98       winex11: Use the specified format for GL Bitmaps.
99       winex11: Don't choose double buffered modes with gdi support.
100       wined3d: Set D3DCAPS2_CANAUTOGENMIPMAP flag when supported.
102 Chris Spencer (1):
103       wine.inf: Create psapi.dll as a fake dll.
105 Damjan Jovanovic (2):
106       ole32: Implement win16 COCREATEGUID.
107       ws2_32: Silently ignore WS_IP_DONTFRAGMENT.
109 Dan Hipschman (10):
110       widl: Add newlines to error messages that are missing them.
111       widl: Add a declonly argument to write_type_left.
112       widl: Write types in the format string comments.
113       widl: Correct default pointers.
114       rpcrt4/tests: Make server.idl compatible with MIDL.
115       widl: Make structs containing user types bogus; fix square_test_us test failure.
116       widl: Allow quoted UUIDs.
117       widl: Implement pointer_default functionality.
118       widl: Keep track of every allocated type_t to simplify set_all_tfswrite.
119       rpcrt4, widl: Make pointer layouts compatible with windows; fix conformant array tests.
121 Dan Kegel (3):
122       msvcrt: Improve CR CR LF handling.
123       msvcrt: Fix ^Z handling in text mode.
124       quartz: Make clock test less flaky.
126 David Adam (2):
127       include: Skeleton header for D3DX8.
128       d3dx8: Fix the definition of D3DXVECTOR.
130 Detlef Riekenberg (6):
131       msi: Dump the database name in a FIXME.
132       winspool: Add a missing export.
133       spoolss: Implement SplInitializeWinSpoolDrv.
134       spoolss/tests: Add tests for SplInitializeWinSpoolDrv.
135       localspl: Implement InitializePrintProvidor.
136       wininet/tests: Initial tests for InternetCanonicalizeUrlA.
138 Dmitry Timoshkov (3):
139       user32: WM_IME_SETCONTEXT messages are optional.
140       gdi32: Prefer a Microsoft cmap table over other platform ones.
141       user32: Add a message test for ownerdrawn listbox, make it pass under Wine.
143 EA Durbin (1):
144       kernel32: Implement SetUserGeoID.
146 Francois Gouget (10):
147       comdlg32/tests: Tell PageSetupDlg() not to bring up a dialog if there is no default printer.
148       user32/tests: Remove an unneeded cast.
149       regedit: Add support for 'regedit -' for feeding regedit from stdin.
150       regedit: Add support for 'regedit /E -', to export the registry to stdout.
151       winex11.drv: Remove an obsolete FIXME comment.
152       winex11.drv: Add the trailing '\n' to a Wine trace.
153       user32/tests: Don't use nameless unions where they are not needed.
154       comctl32/tests: Fix the control's size reporting in an error message.
155       pdh/tests: Fix compilation on systems that don't support nameless unions.
156       Assorted spelling fixes.
158 Gerald Pfeifer (4):
159       kernel32: Fix signedess for FreeBSD-specific implementation of GetSystemInfo().
160       kernel32: Fix types for the FreeBSD implementation of GlobalMemoryStatusEx().
161       winex11.drv: Move X11DRV_XRender_Installed under #ifdef SONAME_LIBXRENDER.
162       mshtml: Removed unused function get_child_text_node().
164 H. Verbeet (1):
165       d3d9: Release pixel shaders after we're done with them in the visual test.
167 Hans Leidekker (7):
168       pdh: Implement PdhValidatePath{, Ex}{A, W}.
169       pdh: Add tests for PdhValidatePath{, Ex}{A, W}.
170       pdh: Serialize access to performance counters and queries.
171       pdh: Implement and test PdhCollectQueryDataEx.
172       pdh: Implement PdhCalculateCounterFromRawValue.
173       pdh: Fix parameter handling in PdhAddEnglishCounter{A, W} and PdhCollectQueryDataWithTime.
174       pdh: Skip tests when running on non-english locale.
176 Huw Davies (8):
177       gdi32: TrueType fonts from the data directory should be added to the registry.
178       gdi32: Only cache the glyph metrics when rendering to a monochrome bitmap or when just retrieving the metrics.
179       gdi32: Let the WINE_GGO_GRAY16_BITMAP case load a bitmap.
180       fonts: Add a Tahoma replacement. Almost entirely based on a patch by Larry Snyder.
181       gdi32: Fixed a misplaced break.
182       fonts: Add a very incomplete Tahoma Bold.
183       comctl32/tests: Skip some font dependent tests if we don't have System or Tahoma installed.
184       comctl32/tests: Don't assume that the default font height is 16 pixels.
186 Hwang YunSong(황윤성) (2):
187       wineboot: New Korean resource.
188       winecfg: Updated Korean resource.
190 Jacek Caban (30):
191       mshtml: Remove no longer used defines.
192       mshtml: Use GetWineURL in before_async_open.
193       urlmon: Added IID_IBindStatusCallbackHolder to uuid.
194       urlmon: Wrap callback in RegisterBindStatusCallback.
195       urlmon: Added more strict QueryInterface tests.
196       urlmon: Added more RegiterBindStatusCallback tests.
197       urlmon: Get rid of no longer needed IHttpNegotiate wrapper.
198       mshtml: Added get_tagName implementation.
199       mshtml: Pass the IDispatch interface of the element right-clicked on to IDocHostUIHandler_ShowContextMenu if applicable instead of always the document's one.
200       mshtml: Pass HTMLDOMNode pointer to its destructor.
201       mshtml: Pass HTMLDOMNode pointer to HTMLElement's destructor.
202       mshtml: Use vtbl for node destructors.
203       mshtml: Move nodes' QueryInterface implementation to vtbl.
204       mshtml: Move common code to separated function.
205       mshtml: Return IHTMLElementCollection instead of IDispatch from HTMLElementCollection_Create.
206       mshtml: Include document element in collection returned by IHTMLDocument2::get_all.
207       mshtml: Added IHTMLOptionElement interface stub implementation.
208       mshtml: IHTMLElementContainer::item rewrite.
209       mshtml: Added IHTMLSelectElement::get_length implementation.
210       mshtml.idl: Added IHTMLInputTextElement interface.
211       mshtml: Added IHTMLInputTextElement interface implementation.
212       mshtml: Move most code from handle_editor_load to exec_editmode.
213       mshtml: Skip tests if we can't get body object - it means that there is no Gecko available.
214       actctx: Rename version to assembly_version.
215       shdocvw: Fixed tests on IE7.
216       urlmon: Fixed test on IE7.
217       mshtml: Fixed tests on IE7.
218       mshtml: Move init_nsevents call from start_binding to read_stream_data to avoid race.
219       mshtml: Fixed test crash on Windows.
220       mshtml: Added support for installing Gecko from the local file.
222 James Hawkins (4):
223       user32: Test the ddeml client interface.
224       user32: Set client_pid to zero before initializing dde.
225       user32: Move the test_ddeml_client function closer to the other ddeml client test functions.
226       user32: Test the ddeml server interface.
228 John Klehm (3):
229       msinkaut.idl: Declare the IInkCollector interface and its dependencies.
230       nkobj: Use an internal header.
231       inkobj: Stub implementation of IInkCollector.
233 Juan Lang (58):
234       crypt32: Add a helper function to create a file store from an already-initialized memory store.
235       crypt32: Create file store directly in CRYPT_FileNameOpenStoreW.
236       crypt32: Allow file stores to support more than one type of file.
237       crypt32: Implement opening file name stores from files that contain PKCS7 messages.
238       crypt32: Be more strict about format of serialized store files.
239       wintrust: Implement SoftpubDefCertInit.
240       wintrust: Improve SoftpubLoadMessage for WTD_CHOICE_CERT.
241       wintrust: In SoftpubLoadSignature, don't assume a message is present.
242       wintrust: Don't warn for generic cert verify action.
243       crypt32: Correct copying a signer info's attributes.
244       wintrust: Add stub for WVTAsn1SpcSpOpusInfoDecode.
245       wincrypt.h: Add a few more definitions.
246       crypt32: Don't check decoded length against encoded length for indefinite-form sequences.
247       ntdll: Fix a typo.
248       wintrust: Copy time to verify from cert info.
249       wintrust: Use file's creation time as time to verify.
250       wintrust: Remove bad check that prevents root certificates from appearing time valid.
251       wintrust: Use verify time rather than current time to check certificate chain.
252       crypt32: Fix a silly variable name.
253       crypt32: Improve trace.
254       crypt32: Don't fail if buffer is NULL, just return required size.
255       crypt32: Don't fail if a cert is invalid, Windows doesn't either (tests to follow).
256       crypt32: Always set cNumOIDs.
257       crypt32: Don't set ret to FALSE when it isn't checked.
258       crypt32: Reduce valid usages count when removing a valid usage.
259       crypt32: Add tests for CertGetValidUsages.
260       crypt32: Don't assume a maximum of 32 valid usages.
261       setupapi: Remove a misleading fixme.
262       crypt32: Remove some tests that fail inconsistently on Windows.
263       crypt32: Print values of failing time tests.
264       crypt32: Add an extra pointer alignment to avoid possible memory corruption.
265       softpub.h: Add missing definitions.
266       wintrust: Trace input to WinVerifyTrust.
267       wintrust: Add a helper function to initialize chain creation parameters.
268       wintrust: Add a helper function to create a chain for a signer.
269       wintrust: Implement GenericChainCertificateTrust.
270       wintrust: Implement GenericChainFinalProv.
271       wintrust: Add traces.
272       wintrust: Add generic chain action to known actions.
273       crypt32: Allow imprecision of one millisecond in time decoding to fix test failures on Windows.
274       crypt32: Remove superficially different certificates.
275       crypt32: Add another test to show that time validity nesting isn't checked.
276       crypt32: Test encoding/decoding name constraints.
277       crypt32: Implement name constraint encoding.
278       crypt32: Allow either NULL or empty strings where one or the other is expected.
279       crypt32: Don't check tag in AsnDecodeIntInternal, caller already checks it.
280       crypt32: Implement name constraints decoding.
281       crypt32: Implement name constraint checking.
282       setupapi: Test SetupDiInstallClass.
283       setupapi: SetupOpenAppendInfFile is implemented, so remove #if 0 around it.
284       setupapi: Correct creating the class key.
285       setupapi: Install more items when installing a class.
286       setupapi: Add stubs for SetupDiCreateDevRegKeyA/W.
287       setupapi: Implement SetupDiCreateDevRegKeyA on top of SetupDiCreateDevRegKeyW.
288       setupapi: Add helper function to open a device's hardware key.
289       setupapi: Don't require caller to pass a SP_DEVINFO_DATA pointer to SETUPDI_AddDeviceToSet.
290       setupapi: Add a device ID member to DeviceInfo.
291       setupapi: Implement SetupDiCreateDevRegKeyW.
293 Kai Blin (2):
294       secur32: Remove hardcoded assumption that the SECBUFFER_DATA is always at index 1 for en/decrypting.
295       secur32: ntlm_auth returns BH if the connection to winbindd fails.
297 Karl Relton (1):
298       wineserver: Allow already peeked messages to merge.
300 Ken Thomases (1):
301       ntdll: Work around a bug in Mac OS X's getdirentries().
303 Konstantin Kondratyuk (2):
304       mpr: Implement WNetGetResourceInformation functions.
305       net.exe: Add Russian resources.
307 Lei Zhang (1):
308       comctl32: Fix monthcal hit tests.
310 Lionel Debroux (2):
311       advapi32/tests: Fix memory leaks (found by Smatch).
312       advapi32/tests: Fix a typo.
314 Louis Lenders (5):
315       faultrep: Add stub for ReportFault.
316       d3dx8: Add DllMain.
317       d3dx8: Update spec file.
318       wsock32: Export 3 more functions.
319       wine.inf: Add 2 keys for *.chm files.
321 Luke Bratch (1):
322       winecfg: Add more keyboard shortcuts.
324 Maarten Lankhorst (9):
325       gdi32: Fix meaning and use of bidirectionality flags.
326       gdi32: Fix 3 tiny bugs in bidi.
327       dsound: Use smaller buffers for wavein capture.
328       dsound: Call waveInUnPrepareHeader and waveInPrepareHeader when submitting new buffer.
329       wineoss: Seperate wave-in and wave-outs shared use of a single OSS_DEVICE struct.
330       dsound: Fix IDirectSoundBuffer_GetPosition.
331       winmm: Set default sound driver to alsa,oss,coreaudio.
332       dsound: Release buffer before reopening when buffer is too small.
333       wineoss: Remove useless fixme shown on initialisation.
335 Marcus Meissner (8):
336       kernel32: Test IsBadReadPtr/ IsBadCodePtr / IsBadWritePtr.
337       mpr: Initialize lpwSystem.
338       pdh: Removed superflous NULL ptr check.
339       d3d9/tests: Initialize shader to NULL.
340       setupapi: Use correct parameter in pointer init.
341       advpack: Handle localized C:\Program Files.
342       crypt32/tests: Fixed buffer overflow in encode test.
343       imm32: Avoid spamming the debug output.
345 Mikolaj Zalewski (6):
346       oleaut32: olepicture: Support loading Aldus Placable Metafiles.
347       oleaut32: olepicture: When drawing metafiles set the coordinates system so that it is drawn in the correct place.
348       advapi32: security: Remove unneeded FIXME.
349       oleview: Don't crash if the parent type couldn't be retrieved.
350       ole32: OleIsRunning should return TRUE if the class doesn't implement IRunnableObject.
351       oleaut32: Function kind for dispatch interfaces should be FUNC_DISPATCH.
353 Misha Koshelev (1):
354       urlmon: Increment/decrement reference count when internet handles are created/destroyed.
356 Nigel Liang (1):
357       include/winsock.h: Fix parenthesis mismatch.
359 Reece H. Dunn (1):
360       comctl32: Fixed drawing the trackbar background when themes are installed.
362 Rob Shearman (14):
363       user32: Add tests for DefWindowProc processing the undocumented 0x3B message.
364       wineboot: Add a timeout dialog when any WM_QUERYENDSESSION or WM_ENDSESSION messages take too long.
365       server: Move set_security_object to handle.c and set_object_sd to object.c.
366       server: Add a new get_security_object call for getting the security descriptor of an object.
367       server: Use ACL_REVISION in create_default_dacl instead of MAX_ACL_REVISION since we don't use any features from later ACL revisions.
368       advapi32: Implement SetFileSecurityW on top of NtSetSecurityObject.
369       advapi32: Allow GetFileSecurityA/W to work on files that have been opened already with restricted sharing flags.
370       server: Add a simple mapping from Unix uids to NT SIDs.
371       server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk.
372       server: Add primitive support for setting and getting the security descriptor of files based on their Unix permissions.
373       server: Remove an unnecessary check from file_set_fd.
374       server: Only call fchmod in file_set_fd if the mode actually changed.
375       oleaut32: Add a check for a test that depends on the decimal separator being a dot.
376       ole32: RegisterDragDrop should return E_OUTOFMEMORY in the case that COM isn't intialised, instead of CO_E_NOTINITIALIZED.
378 Robert Shearman (1):
379       mshtml: Set the SETUP_IS_CHROME_WRAPPER to FALSE as the embedded Gecko is always used to display content and not chrome.
381 Roderick Colenbrander (12):
382       wined3d: CreateFakeGLContxt/ReleaseFakeGLContext doesn't need ENTER_GL/LEAVE_GL and they are making GDI calls.
383       wined3d: CreateContext should not be called between ENTER_GL/LEAVE_GL.
384       wined3d: Only call ENTER_GL for the parts in ActivateContext that actually need it.
385       wined3d: WINAPI compile fixes.
386       ddraw: Fix RegDeleteTreeA/W compile issues when building ddraw for Windows.
387       wined3d: Render to the correct hwnd/hdc.
388       wined3d: Make sure we receive a hw accelerated pixel format with OpenGL support.
389       wined3d: Remove an unused ChoosePixelFormat line.
390       wined3d: Use EXT-versions of glBlend*.
391       wined3d: Merge p8 palette initialization code.
392       wined3d: Fix inverse palette lookup for P8 surfaces.
393       wined3d: Use a fragment shader to do P8 palette conversion in hardware.
395 Roy Shea (2):
396       net.exe: Added missing service name.
397       qmgr: Skeleton implementation of Background Intelligent Transfer Service (BITS).
399 Rémi Assailly (2):
400       user32: Moved some 16-bit functions.
401       user32: Renamed and moved SetDeskPattern.
403 Stefan Dösinger (17):
404       wined3d: Add texreg2rgb support to arb shaders.
405       wined3d: Add proper input register handling to texreg2ar/gb.
406       wined3d: Implement texbeml in arb shaders.
407       wined3d: Enable the mNxN implementation for pixel shaders.
408       wined3d: Bem is an instruction and uses registers.
409       wined3d: Reverse the position fixup if the pshader is reading vpos.
410       wined3d: Take care against overwriting a source register in cmp.
411       wined3d: d3d ignores the sign of the input value in the log instruction.
412       wined3d: Implement the vFace register.
413       wined3d: Nested loop support.
414       d3d9: Do not rely on CreateVertexShader failing.
415       wined3d: Clear up in Init3D if something fails.
416       ddraw: Cope with Init3D failures.
417       wined3d: Silently ignore setting the 0 texture on gdi surfaces.
418       ddraw: Do not fail on surface creation errors, skip instead.
419       ddraw: Downgrade the SetCooperativeLevel FIXME to a TRACE.
420       wined3d: Add a (nested) loop test.
422 Stefan Leichter (6):
423       ole32: Define WINE_FILEVERSION in version resource of ole2nls.dll too.
424       gdi32: Define WINE_FILEVERSION in version resource of gdi.exe.
425       kernel32: Define WINE_FILEVERSION in version resource of krnl386.exe.
426       user32: Define WINE_FILEVERSION in version resource of user.exe.
427       winecfg: Replace call to remove_path with RegDeleteTreeW.
428       regedit: Replace call to delete_branch with RegDeleteTreeA.
430 Stéphane LOEUILLET (1):
431       Fix substandard wine.desktop file.
433 Ulrich Czekalla (1):
434       d3d9: Fix crash in texture test.
436 Vitaliy Margolen (3):
437       dinput: Fix typo.
438       winex11drv: Ignore mouse move events when position did not change only when other events are present.
439       dinput: Use ClipCursor() to keep mouse from leaving the window.
441 Vitaly Lipatov (1):
442       tools/wine.desktop: Add Name field in Russian.
445 Alexandre Julliard
446 julliard@winehq.org