msi: Return ERROR_FILE_INVALID if the file has no version information.
[wine.git] / ANNOUNCE
blobcb0e5760f6773a3a401318fa2eeb69952fcac45c
1 This is release 0.9.54 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
4   - Photoshop CS/CS2 should now work, please help us testing it.
5     See http://wiki.winehq.org/AdobePhotoshop for details.
6   - A number of RPC fixes.
7   - Various improvements to the debugger support.
8   - Lots of bug fixes.
10 Because of lags created by using mirrors, this message may reach you
11 before the release is available at the public sites. The sources will
12 be available from the following locations:
14   http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.54.tar.bz2
15   http://prdownloads.sourceforge.net/wine/wine-0.9.54.tar.bz2
17 Binary packages for various distributions will be available from:
19   http://www.winehq.org/site/download
21 You will find documentation on
23   http://www.winehq.org/site/documentation
25 You can also get the current source directly from the git or CVS
26 repositories. Check respectively http://www.winehq.org/site/git or
27 http://www.winehq.org/site/cvs for details.
29 If you fix something, please submit a patch; instructions on how to do
30 this can be found at http://www.winehq.org/site/sending_patches
32 Wine is available thanks to the work of many people. See the file
33 AUTHORS in the distribution for the complete list.
35 ----------------------------------------------------------------
37 Changes since 0.9.53:
39 Alexander Dorofeyev (4):
40       wined3d: Change colorkey fixup for stage 0 alphaop / alphaarg.
41       ddraw: Fix handling of alpha with D3DTBLEND_MODULATE.
42       ddraw/tests: Add test for D3DTBLEND_MODULATE.
43       wined3d: Fix not released swapchain in some codepaths.
45 Alexander Nicolaysen Sørnes (7):
46       wordpad: Fix width when text break = margins.
47       wordpad: Add basic ruler.
48       riched20: Include selection bar size in POSFROMCHAR.
49       riched20: Don't clear CFM_UNDERLINE flag when applying styles where it is set.
50       uninstaller: Disable Uninstall button when no items selected.
51       uninstaller: Fix Norwegian Bokmål resource.
52       winecfg: Update Norwegian Bokmål resource.
54 Alexandre Julliard (55):
55       kernel32: Close the stdio handles when creating a detached process.
56       kernel32: Don't inherit stdin/stdout handles in wineboot.
57       user32: Don't inherit stdin/stdout handles in explorer.
58       server: Take into account the extended registers part of the i386 context.
59       kernel32/tests: Avoid size_t in traces.
60       ntdll: Copy extended registers too in copy_context().
61       ntdll: Linux support for saving and restoring the extended FPU context on exceptions.
62       ntdll: Mac OS support for saving and restoring the extended FPU context on exceptions.
63       ntdll: Restore typecast that is really needed.
64       ntdll: Fall back to a server device ioctl for files with no associated fd.
65       mountmgr.sys: Fix values returned for IOCTL_STORAGE_GET_DEVICE_NUMBER on emulated disks.
66       winebuild: Reserve the space for the PE header in the .init section.
67       winmm: Load only one sound driver at a time.
68       wineboot: Add a --init option used when launched automatically at startup.
69       wineboot: Delay import the dlls that are not needed for the default initialisation.
70       winebuild: Don't try to use the .init section on Mac OS.
71       kernel32: Fix the system affinity returned by GetProcessAffinityMask.
72       server: Don't force the process affinity to 1, leave it up to the client.
73       winex11.drv: Don't fetch the atom for a null device type.
74       winex11.drv: Don't create a win_data structure for the desktop window, except in the process that owns it.
75       winex11.drv: Moved initialization of screen_width/height to xinerama_init to do it inside the x11 lock.
76       ntdll: Don't try to restore extended fpu context if not supported.
77       widl: Use the real argument names in the C method macros.
78       winex11.drv: Set the initial icon hints in set_initial_wm_hints().
79       libwine: Properly increment source pointer for surrogates in wine_utf8_wcstombs.
80       user32,server: Set the initial window rectangles to 0,0-0,0.
81       winex11.drv: Fix handling of strange window sizes in CreateWindow, with tests.
82       winex11.drv: Only allocate wm hints if we have an X11 window.
83       ntdll: Don't fetch extended FPU context if there's no FPU context at all.
84       server: Add a separate request to set the window visible rect.
85       server: Invalidate the correct region when custom valid rects are specified.
86       winex11: Abstract the server part of SetWindowPos into a separate function.
87       winex11: Make the client rect relative to the parent window for consistency with the server side.
88       winex11: Properly invalidate moved child windows instead of forcing SWP_NOCOPYBITS.
89       winex11: Move the window bits according to the valid rects instead of invalidating.
90       winex11: Move resetting of the cursor clip rectangle into xinerama_init().
91       winex11: Leave it up to explorer to specify the correct size and position for the desktop.
92       winex11: Update the win data rectangles before doing anything else in SetWindowPos.
93       winex11: Move code around in X11DRV_SetWindowPos to reduce indentation levels.
94       winex11: Add a mapped flag to the window data instead of relying on WS_VISIBLE.
95       winex11: Apply the existing window region (if any) when creating the whole window.
96       winex11: Set hints for the existing window text when creating the whole window.
97       winex11: Set icon hints on non-managed windows too, since they may become managed later on.
98       winex11: Get the icon from the window in case it was changed before the whole window was created.
99       winex11: Remove obsolete code to set Z-order for child windows.
100       winex11: Export a function to dock a window into the system tray, and get rid of the WS_EX_TRAYWINDOW style.
101       comctl32: Tooltips should be top-most windows.
102       user32: Menus should be top-most windows.
103       winex11: Don't create a win_data structure for the root window in non-desktop mode.
104       winex11: Create the window data structure lazily, once the window is made visible.
105       winex11: Check for need to make window managed when WS_VISIBLE is set outside of SetWindowPos.
106       winex11: Catch DIB memory accesses that touch the last page beyond the DIB bits end.
107       user32: Moved the bulk of CreateWindow and SetWindowPos from the driver back into user32.
108       Avoid sizeof in traces.
109       winex11: Check for managed mode in create_whole_window again now that it is called lazily.
111 Alistair Leslie-Hughes (15):
112       msxml3: Implement get_dataType.
113       msxml3: Correct get_attributes for CDATA Section.
114       msxml3: Implemented IXMLDOMCDATASection COM Object.
115       msxml3: Implement GetClassID for XMLDocument IPersistStream interface.
116       msxml3: Corrected getAttribute to return current value and assign output var.
117       mscoree: Fix memory leak.
118       msxml3: Implement put_text.
119       msxml3: Implement get_nodeTypeString.
120       msxml3: Attribute nodes are not typed.
121       msxml3: Implement IXMLDOMImplementation Interface.
122       msxml3: Implement IXMLDOMDocumentFragment Interface.
123       msxml3: Entity Reference nodes do not support attributes property.
124       msxml3: Implement IXMLDOMEntityReference interface.
125       msxml3: Return correct IDispatch Interface.
126       gmsxml3: Added typelib support.
128 Allan Tong (1):
129       wined3d: Set swapchain container before flagging front buffer with SFLAG_INDRAWABLE.
131 Andrej Sinicyn (1):
132       wordpad: Update German strings and correct shortcuts to match XP wordpad.
134 Andrew Talbot (30):
135       netapi32: Remove unneeded cast.
136       msvcrt: Remove unneeded casts.
137       ntdll: Remove unneeded casts.
138       msxml3: Remove unneeded cast.
139       msvfw32: Remove unneeded casts.
140       setupapi: Fix dead code (Coverity).
141       ole32: Remove unneeded casts.
142       oleaut32: Remove unneeded casts.
143       qcap: Remove unneeded casts.
144       psapi: Remove unneeded cast.
145       rpcrt4: Remove unneeded casts.
146       quartz: Remove unneeded casts.
147       riched20: Remove unneeded casts.
148       rsaenh: Remove unneeded casts.
149       sane.ds: Remove unneeded casts.
150       secur32: Remove unneeded casts.
151       setupapi: Remove unneeded casts.
152       shell32: Remove unneeded casts.
153       shell32: Remove unneeded casts.
154       shell32: Remove unneeded casts.
155       urlmon: Remove unneeded cast.
156       user32: Remove unneeded casts.
157       user32: Remove unneeded casts.
158       uxtheme: Remove unneeded casts.
159       vmm.vxd: Remove unneeded casts.
160       wined3d: Remove unneeded casts.
161       wined3d: Remove unneeded casts.
162       wined3d: Remove unneeded casts.
163       wined3d: Remove unneeded casts.
164       winedos: Remove unneeded casts.
166 Andrey Esin (9):
167       wineboot: Russian translation.
168       shell32: Update Russian translation.
169       wordpad: Adding to Russian translation.
170       wordpad: Corrections in Russian translation.
171       regedit: Update Russian translation.
172       write: Russian translation.
173       browseui: Russian translation.
174       wininet: One addition to Russian translation.
175       credui: Added Russian translation.
177 Aric Stewart (1):
178       wineps.drv: Properly handle NULL LPLOGFONT in PSDRV_EnumDeviceFonts.
180 Austin English (4):
181       Misc spelling fixes.
182       tools: Spelling fixes.
183       wined3d: Spelling fixes.
184       comctl32: Spelling fixes.
186 Christoph von Wittich (1):
187       msi: Fix process token leak.
189 Christopher Berner (1):
190       user32: Fixed off by one scroll bar pixels.
192 Dan Hipschman (1):
193       oleaut32: Use the symbolic name for TYPEFLAG_FDISPATCHABLE.
195 Dan Kegel (5):
196       gdiplus/tests: Don't free if alloc failed.
197       hlink/tests: Skip tests if hlink couldn't be created.
198       urlmon: Fix unlikely free of uninitialized pointer.
199       winealsa.drv: Don't return garbage if can't find active channel.
200       gdi32: Fix AddFontResource behavior with relative paths.
202 Dmitry Timoshkov (11):
203       gdi32: Use public FS_xxxxxx defines.
204       gdi32: Initialize more fields in GetEnumStructs.
205       gdi32: Add a test for undocumented EnumFontFamiliesEx(NULL), make it pass under Wine.
206       gdi32: Do not allow to create too large device dependent bitmaps like Windows does.
207       gdi32: Allocate cache for face enumeration data only when necessary.
208       ntdll: Do not perform base relocation if an image is not a DLL.
209       gdi32: Actually perform the fractional scaling test, make it pass under Wine.
210       winebuild: Add a couple of missing indentations in the generated asm files.
211       user32: Make MapVirtualKeyEx(MAPVK_VK_TO_CHAR) behave more like in Windows.
212       shell32: Add a LogoffWindowsDialog stub.
213       winex11.drv: Remove an incorrect FIXME.
215 Eric Pouech (17):
216       dbghelp: Silence superfluous message (spotted by Robert Reif).
217       dbghelp: In Minidump, change a couple of internal names for consistency.
218       winedbg: Fixed bt all so that current process/thread isn't lost.
219       winedbg: Workaround broken minidumps with invalid 32->64 address conversion.
220       winedbg: Added a way to support differently selector information depending on current target.
221       ole32: Fixed datacache object so that we can retrieve meaningful information.
222       msvcrt: symbol undecoration: Now correctly parsing the template forms.
223       msvcrt: symbol undecoration: Handling of void in template parameters' list.
224       msvcrt: symbol undecoration: Added support for cointerface.
225       msvcrt: symbol undecoration: Added support for a couple of more calling conventions.
226       msvcrt: symbol undecoration: Corrected handling of non static member function modifiers.
227       msvcrt: symbol undecoration: Added support for thunks.
228       msvcrt: symbol undecoration: Added support for RTTI types.
229       msvcrt: symbol undecoration: Really check that we get a template string before making use of it.
230       ntdll: Fixed getting the RTS status from line, and now using sane default values for all (compilation/system) cases.
231       msvcrt: Corrected the .spec definition for the printf functions family.
232       regedit: Warn about newest unicode export from native regedit.
234 Eric van Beurden (6):
235       dbghelp: Update some mscvpdb.h definitions and descriptions.
236       dbghelp: Return TRUE in SymInitializeW if process is already initialized and add an ERR to SymCleanup.
237       dbghelp: Wrap TRACE strings using the debugstr functions and update some type casting.
238       dbghelp: Some minidump corrections so that windbg can read our minidump files.
239       dbghelp: Fix file searching to search only listed directories instead of the whole HD.
240       dbghelp: Prevent huge minidumps by ensuring the memory range is clamped.
242 Francois Gouget (11):
243       gdi32: Small wording tweaks in comments.
244       ddraw/tests: Fix compilation on systems that don't support nameless unions.
245       Fix spelling error in the generated conformance test files.
246       include: Document some Microsoft spelling mistakes so we know they are not to be fixed.
247       kernel32/tests: Small spelling fix in a parameter name.
248       Assorted spelling fixes.
249       advapi32/tests: Actually test strings that expand to something bigger than their original size.
250       advapi32/tests: Add the trailing '\n' to an ok() call.
251       kernel32/tests: Test the expansion of indirect environment variable references.
252       winemenubuilder: Expand environment variable references in the shortcut's WorkDir, Description and IconPath fields.
253       Assorted spelling fixes.
255 Gerald Pfeifer (3):
256       wininet: Fix type of a loop variable in HTTP_BuildHeaderRequestStr().
257       kernel32: Fix type of a loop variable in SNOOP16_Entry().
258       kernel32: Use setproctitle where applicable to set the process name.
260 Gregor Münch (1):
261       msxml3: Fix typo.
263 Hans Leidekker (9):
264       license: Update copyright info for the new year.
265       msvcrt: Fix _execv spec entries for the forwarding variants too.
266       msvcrt: _ftol returns a 64-bit value.
267       msvcr71: Add an implementation that forwards to msvcrt.
268       gdi32: Last parameter of GetICMProfile is an output parameter.
269       gdi32: Make GetICMProfile behave more like native. Rewrite ansi version as a wrapper and move color management functions to their own file.
270       gdi32: Add tests for GetICMProfile and SetICMMode.
271       mscms: Use NT directory for storing color profiles.
272       mscms: Open .icm files only when enumerating color profiles.
274 Jacek Caban (9):
275       shdocvw: Added DWebBrowserEvents2 test.
276       shdocvw: Call OnFullScreen in put_FullScreen.
277       shdocvw: Call WindowSetResizable in put_Resizable.
278       shdocvw: Call StatusTextChange in set_status_text.
279       shdocvw: Store URL in BindStatusCallback.
280       shdocvw: Use more flexible mechanism instead of WB_WM_NAVIGATE2.
281       shdocvw: Delay creating URL moniker to bind_to_object call.
282       shdocvw: Do navigation in message handler.
283       shdocvw: Store headers as BSTR.
285 James Hawkins (3):
286       msi: dest_path refers to the directory prefix, not the entire file path.
287       propsys: Add a stub implementation of propsys.dll.
288       msi: Add more MsiFormatRecord tests.
290 Jason Green (1):
291       d3d9 tests: Correct some typos.
293 Jonathan Ernst (1):
294       loader: Updated French man page.
296 Juan Lang (4):
297       wintrust: Don't expect ImageGetCertificateData to succeed when Certificate is NULL.
298       crypt32: Don't release default crypto provider on process shutdown.
299       crypt32: Fix race condition in loading default provider.
300       hhctrl.ocx: Don't return uninitialized stream.
302 Kai Blin (1):
303       gdi32: Fix spec file to export the right symbols for GetGlyphOutline.
305 Ken Thomases (1):
306       winex11.drv: Accomodate XGetWindowProperty returning an actual format of something other than 32 for the TARGETS property.
308 Lei Zhang (1):
309       ddraw: Register the DirectDraw 7 Object.
311 Marcus Meissner (13):
312       server: Enumerate process in reverse.
313       mshtml: Check for This->frame.
314       wined3d: Check for overflows.
315       urlmon: Skip pstgmed related tests if NULL.
316       wmi: Initial version of wmi.dll.
317       gdi32: Fix possible NULL ptr in TRACE.
318       msi: Replaced msi_free() by LocalAlloc() since ConvertSidToStringSidW uses LocalAlloc().
319       wined3d: Removed deadcode.
320       cmd: Include <time.h> for time().
321       wined3d: Initialize swapchain.
322       rpcrt4: Initialize CurrentHeader.
323       d3d9/tests: Initialize decl.
324       wininet: Check if buffer has overflowed potentially.
326 Michael Stefaniuc (3):
327       winedump: Do not create a header file when not generating skeleton code.
328       winedump: Use the DEFINE_THISCALL_WRAPPER macro instead of the GET_THIS macro for functions with __thiscall calling convention.
329       winedump: Use a switch in the generated DllMain().
331 Pablo Spallanzani (1):
332       wined3d: Fix texture coordinate calculation in surface_blt_to_drawable.
334 Paul Chitescu (1):
335       mscoree: Semi-stub for LoadStringRCEx and LoadStringRC.
337 Paul Vriens (6):
338       kernel32/tests: FindFirstVolumeA is not available on win98.
339       advapi32/tests: Make tests run on win9x/NT4 again.
340       user32/tests: Run full test again on win95 and NT4.
341       msi/tests: Only use functions if they are implemented.
342       msi/tests: Only use functions if they are implemented.
343       kernel32/tests: Win9x returns a different last error.
345 Reece H. Dunn (5):
346       user32: Make the clipboard tests pass on Vista.
347       user32: Make the class tests pass on Vista.
348       user32: Make the edit tests pass on Vista.
349       gdi32: Vista returns UNICODE_NOCHAR if a character does not exist.
350       advapi32: Fix some cred test failures on Vista and prevent it crashing.
352 Rob Shearman (41):
353       include: Flesh out winhttp.h with more function declarations, typedefs and defines.
354       rpcrt4: Allocate a context handle if a NULL GUID is being unmarshalled.
355       rpcrt4: Add support for calculating the memory size of complex types with embedded non-conformant strings.
356       rpcrt4: Don't print fixmes for NDR types without a freeing function.
357       rpcrt4: Add traces to the start of TowerConstruct and TowerExplode.
358       winhttp: Add a stub for WinHttpOpen.
359       rpcrt4: Fix the calculation of element sizes for complex arrays by using a new function ComplexStructSize that doesn't touch the buffer to calculate the size.
360       rpcrt4: Handle complex arrays in calc_arg_size.
361       rpcrt4: The initialisation of [out] variables in the stubless code must be after the unmarshaling of [in] and [in, out] variables has been completed.
362       mlang: Implement Rfc1766ToLcidW.
363       rpcrt4: Allow NULL networkaddr and endpoint in rpcrt4_np_get_top_of_tower.
364       ole32: Partially implement ServerRpcChannelBuffer_GetDestCtx.
365       rpcrt4: Move the setting of retval_ptr outside of any particular stub phase in stub_do_args and stub_do_old_args.
366       rpcrt4: Add tests for RPC_FC_P_DEREF|RPC_FC_P_ONSTACK pointers.
367       comctl32: Keep on displaying the last frame of the animation after the animation has stopped.
368       comctl32: Support seeking to a particular frame.
369       rpcrt4: Add an exception handler for stubless object proxies.
370       rpcrt4: Only initialise the context handle to NULL in NdrContextHandleUnmarshall if it is an out-only or return one.
371       iphlpapi: Implement GetBestInterfaceEx.
372       kernel32: Initialise the top 16-bit stack frame to zero.
373       widl: Write out code for initialising out-only client context handles.
374       riched20: The wParam parameter to WM_GETTEXT contains the number of characters, not the number of bytes.
375       riched20: Always treat the nCount variable in the EM_GETTEXTEX handler as a character count.
376       rpcrt4: Implement asynchronous RPC support.
377       rpcrt4: Move the receiving of an individual fragment to a separate function.
378       rpcrt4: Remove some unimplemented win9x-only spec entries.
379       rpcrt4: Don't set BufferStart and BufferEnd in NdrStubCall2.
380       ole32: Don't get the HRESULT from the buffer if we get an RPC_S_CALL_FAILED status back from the runtime.
381       advapi32: Add more tests for SetEntriesInAcl.
382       ntdll: Fix the index check in RtlGetAce.
383       advapi32: Implement SetEntriesInAclW.
384       advapi32: Add a test for LookupAccountNameA on a well-known group.
385       advapi32: Implement LookupAccountNameW for well-known groups.
386       rpcrt4: Fix the error handling in RpcBindingSetAuthInfoA/W when RpcAuthInfo_Create fails.
387       rpcrt4: Pass the SPN input to RpcBindingSetAuthInfoA/W into InitializeSecurityContextW instead of AcquireCredentialsHandleA/W.
388       rpcrt4: Check the return value of RPCRT4_ClientAuthorize in RPCRT4_Send.
389       credui: The list should be the first parameter to the list_add_tail function.
390       credui: Return the state of the dialog's save checkbox to CredUIPromptForCredentials.
391       ntdsapi: Add tests for DsMakeSpnW.
392       ntdsapi: Implement DsMakeSpnW.
393       wininet: Pass the server name into InitializeSecurityContextW.
395 Roderick Colenbrander (2):
396       wined3d: Fix glBlendColorEXT for use on RivaTNT.
397       wined3d: Don't use texture_rectangle for paletted textures.
399 Roy Shea (1):
400       qmgr: Implement IClassFactory methods.
402 Sin-ta Hsiea (2):
403       gdi32: Fix Traditional Chinese font mapping to "PMingLiU", "MingLiU".
404       winecfg: Add Traditional Chinese translation.
406 Stefan Dösinger (15):
407       wined3d: Add a new IWineD3DResource::UnLoad method.
408       wined3d: Implement IWineD3DSurface::UnLoad.
409       wined3d: Implement IWineD3DVertexBuffer::UnLoad.
410       wined3d: Implement IWineD3DIndexBuffer::UnLoad.
411       wined3d: Implement IWineD3DVolume::UnLoad.
412       wined3d: Implement IWineD3DTexture::UnLoad.
413       wined3d: Implement IWineD3DCubeTexture::UnLoad.
414       wined3d: Implement VolumeTexture::UnLoad.
415       d3d9: Reject IDirect3DDevice9::Reset with active default pool resources.
416       wined3d: Unload all resources on Reset.
417       wined3d: Keep track of shaders.
418       wined3d: Reset the shader state on shader_*_destroy.
419       wined3d: Destroy arb shaders on shader destroy.
420       wined3d: Destroy opengl shaders on reset.
421       wined3d: Clear the constant list before finding constants.
423 Stefan Leichter (1):
424       advapi32: Added some tests for QueryServiceConfig2A/W.
426 Tony Wasserka (1):
427       d3dx9: Start implementation of d3dx9_36.
430 Alexandre Julliard
431 julliard@winehq.org