msi: Remove a misleading ERR, as this fails if a file doesn't exist, which is common.
[wine.git] / ANNOUNCE
blobf9bd6e85a512ce52e3bbac0246a55e11e0496634
1 This is release 0.9.37 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
4   - MSI automation with JScript/VBScript support.
5   - Various MSHTML improvements.
6   - The usual assortment of Direct3D fixes.
7   - Support for a few more exe protection schemes.
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.37.tar.bz2
15   http://prdownloads.sourceforge.net/wine/wine-0.9.37.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.36:
39 Alexandre Julliard (24):
40       winebrowser: Don't output debug traces by default.
41       server: Give system APCs priority over signaled objects.
42       kernel32: Don't skip directory symlinks when looking for a specific file.
43       widl: Don't declare a global binding handle when using an implicit handle.
44       server: Store valid file options in pseudo file descriptors.
45       server: Infrastructure to return a wait handle for blocking ioctls.
46       server: Allocate the wait event for FSCTL_PIPE_LISTEN on the server side.
47       server: Allocate the wait event for FSCTL_PIPE_WAIT on the server side.
48       Fix minor differences in the formatting of the license notices.
49       Get rid of some empty source files, our makefiles no longer require them.
50       configure: Only check for the static versions of libicu.
51       kernel32: Disable FT_Thunk entry point when Windows version is NT.
52       configure: Added rpath support for Solaris.
53       kernel32: Set the dll file name with the correct case to make EXECryptor happy.
54       configure: Fixed typo in libicu check.
55       ntdll: Support setting the CPU context on the current thread without segment registers.
56       server: Add support for generic device objects managed from the client side.
57       server: Add support for queuing ioctl calls to a device.
58       server: Add request to retrieve the next pending ioctl call for a device manager.
59       server: Add support for retrieving results of queued ioctls once they are done.
60       advapi32: Fix set process request, a pipe instance can only handle one request.
61       psapi: Don't print output parameters as strings.
62       kernel32: Fix typo in CreateActCtxA.
63       server: Stop exporting the console_input structure. Get rid of console.h.
65 Andrew Talbot (39):
66       advapi32: Exclude unused headers.
67       dsound: Constify some variables.
68       crypt32: Exclude unused headers.
69       dswave: Constify a variable.
70       compstui: Exclude unused headers.
71       comdlg32: Exclude unused headers.
72       gdi32: Constify some variables.
73       gdi32: Constify some variables.
74       dbghelp: Exclude unused headers.
75       ddraw: Exclude unused headers.
76       gphoto.ds: Constify a variable.
77       devenum: Exclude unused header.
78       dmstyle: Exclude unused headers.
79       dmband: Exclude unused headers.
80       dmusic32: Exclude unused headers.
81       dmime: Exclude unused headers.
82       dxerr9: Exclude unused header.
83       kernel32: Constify a variable.
84       imaadp32.acm: Constify some variables.
85       dxerr8: Exclude unused header.
86       dnsapi: Exclude unused header.
87       dpnet: Exclude unused headers.
88       dsound: Exclude unused headers.
89       ifsmgr.vxd: Constify some variables.
90       inseng: Exclude unused header.
91       imagehlp: Exclude unused headers.
92       infosoft: Exclude unused header.
93       itss: Exclude unused headers.
94       kernel32: Exclude unused headers.
95       kernel32: Exclude unused headers.
96       kernel32: Exclude unused headers.
97       kernel32: Exclude unused headers.
98       mcicda: Exclude unused headers.
99       localspl: Exclude unused headers.
100       mciwave: Exclude unused header.
101       mapi32: Exclude unused header.
102       mscms: Exclude unused headers.
103       msacm32: Exclude unused headers.
104       mlang: Exclude unused headers.
106 Andrey Turkin (6):
107       dbghelp: Zero-terminate module name in minidump.
108       shlwapi: Implement IConnectionPoint_SimpleInvoke.
109       hhctrl.ocx: Update HtmlHelp and its commands definitions, and partially implement data A->W translation.
110       hhctrl.ocx: Do not try to dereference NULL pointer if CreateHelpViewer failed.
111       hhctrl.ocx: Recognize and use topic specification in url or in data.
112       shlwapi: Implement IUnknown_CPContainerInvokeParam.
114 Aric Stewart (2):
115       ole32: Accelerators, like for the menu ones, should not fire on the keyup message.
116       gdi32: GetGlyphOutline needs to look at linked fonts as well.
118 Ben Taylor (3):
119       wineshelllink: Improve /bin/sh and awk compatibility.
120       wineinstall: Use `wine --version` instead of `which wine`.
121       winegcc: Allow -R and -z linker options.
123 Bernard Ladenthin (2):
124       browseui: Implement ClassFactory_LockServer in browseui dll.
125       browseui: Fixed ClassFactory_LockServer implementation.
127 Bill Medland (2):
128       kernel32/tests: Boundary test cases for SystemTimeToFileTime and GetDateFormat.
129       oleaut32/tests: Some boundary tests on VarBstrFromDate.
131 Damjan Jovanovic (2):
132       wine.inf: Move explorer to the windows directory.
133       shlwapi: Fix UrlCanonicalizeW's handling of filesystem paths.
135 Dan Hipschman (7):
136       widl: Get rid of the typeref_t structure, simplify code.
137       widl: Get rid of the tname field of var_t, simplify code.
138       widl: Add string_of_type function, prettify code.
139       widl: Remove redundant get_var_vt function.
140       widl: Simplify make_safearray.
141       widl: Remove dead code in write_msft.c.
142       widl: Remove var_t's ptr_level field and start write_pointers.
144 Dan Kegel (1):
145       advapi: Improve SetEntriesInAclA stub.
147 Detlef Riekenberg (8):
148       localspl: Code cleanup for XcvDataPort_AddPort.
149       winspool: Return the correct errorcode in OpenPrinter (Xcv).
150       winspool: Avoid crash on NULL parameter (XcvOpenPort in OpenPrinter).
151       localui: Implement AddPortUI.
152       localui: Implement ConfigurePortUI for LPT.
153       localui: Prefer builtin version.
154       localui: Add German resources.
155       ddraw/tests: Fix typos in messages.
157 Dmitry Timoshkov (6):
158       comctl32: Remove a stray back slash.
159       riched20: Add the tests for EM_SETTEXTEX/EM_GETTEXTEX in addition to WM_SETTEXT/WM_GETTEXT, make them pass under Wine.
160       gdi32: Handle errors in WineEngAddFontResourceEx.
161       gdi32: AddFontResource should return a number of added font faces.
162       advapi32: Add FILE_FLAG_BACKUP_SEMANTICS to the flags passed to CreateFileW to be able to get security information for directories as well as for files.
163       user32: Windows doesn't send the initialization messages to a dialog if a passed in dlgProc is NULL.
165 Emmanuel Maillard (4):
166       winecoreaudio: Handle non System Exclusive messages.
167       winecoreaudio.drv: MIDIIn_MessageHandler: Remove a TRACE and simplify skipping SysEx.
168       winecoreaudio.drv: Create only one MIDIOutPort and one MIDIInPort for all destinations and sources.
169       winecoreaudio.drv: Implement MIDIOut_Data when device is a MOD_MIDIPORT.
171 Eric Pouech (2):
172       kernel32: Implemented CreateActCtxA on top of CreateActCtxW.
173       kernel32: Set the new definition for an activation context, and implement adding/releasing references to it.
175 Francois Gouget (8):
176       d3drm/tests: Add missing '\n' to ok() calls.
177       d3drm: Fix compilation on systems that don't support nameless unions.
178       msi/tests: Add missing '\n' to ok() call.
179       Assorted spelling fixes.
180       ddraw/tests: Fix compilation on systems that don't support nameless unions.
181       msi/tests: Add missing '\n' to ok() calls.
182       crypt32: Add missing '\n' in FIXME() call.
183       wined3d: Add a missing '\n' to a trace.
185 H. Verbeet (16):
186       wined3d: Flip the coordinate system rather than the coordinates itself for onscreen surfaces in stretch_rect_fbo.
187       wined3d: Make the IWineD3DDeviceImpl_ColorFill TRACE a bit more useful.
188       wined3d: Bind GL_FRAMEBUFFER_EXT rather than GL_DRAW_FRAMEBUFFER_EXT in color_fill_fbo.
189       wined3d: Improve a few VBO traces.
190       d3d: Fix the surface locking rectangle validation.
191       d3d9: Add a surface locking test.
192       d3d8: Add a surface locking test.
193       ddraw: Add a surface locking test.
194       wined3d: Remove some redundant fields from IWineD3DBaseTextureImpl.
195       wined3d: Handle the ps_3_0 vPos field.
196       wined3d: Unload vertex weight data in case of EXT_VERTEX_WEIGHTING as well.
197       wined3d: Calling glDisableClientState() from loadVertexData() is redundant.
198       wined3d: Split texture coordinate loading from loadVertexData().
199       wined3d: Load texture coordinates even if no texture is bound to that stage at this time.
200       wined3d: Trace the VBO and stream number as well in drawPrimitiveTraceDataLocations.
201       wined3d: WINED3DSIO_POW should use the absolute value of the first source register.
203 Huw Davies (2):
204       oleaut32: Remove useless initialization of an [out] parameter.
205       ole32: Cope with a realloc returning a different pointer.
207 Jacek Caban (12):
208       mshtml: Fix offset in OnDataAvailable call.
209       mshtml: Remove auto detection of Mozilla and Mozilla ActiveX control.
210       mshtml: Reimplement IHTMTxtRange on top of nsIDOMRange.
211       mshtml: Added IHTMLTxtRange::get_htmlText implementation.
212       mshtml: CGID_Undocumented is CGID_DocHostCmdPriv.
213       mshtml: Added IHTMLBodyElement::CreateTextRange implementation.
214       mshtml: Split code from OnDataAvailable.
215       mshtml: Don't crash in OnStopBinding if This->binding is null.
216       mshtml: Move AddRequest call to the separated function.
217       mshtml: Split IPersistMoniker::Load.
218       mshtml: Added IPersistStreamInit::Load implementation.
219       mshtml: Added IPersistStreamInit::Load test.
221 James Hawkins (14):
222       msi: Add tests that show that costing is run in both the UI and Execute sequences.
223       msi: Reset the folder's resolved target before setting the target in CostFinalize.
224       msi: Run the costing actions for both the UI and execute sequences.
225       msi: Only allow valid styles in msi_dialog_get_style.
226       msi: Add the ES_AUTOHSCROLL style to the edit control.
227       msi: Set the text limit of the edit control if the limit is given.
228       msi: Remove incorrect ERR as messages can be sent before the control is created.
229       msi: Remove debugging printf statements.
230       msi: Add stub handlers for the remaing standard actions that reference tables.
231       msi: Add handling for the ReinstallMode control event.
232       msiexec: /quiet is the same options as /qn.
233       msi: Check the volume name when changing media.
234       msi: Deformat the key path before opening the key.
235       msi: Only check the volume label for every media after the first disk.
237 Jason Edmeades (1):
238       xcopy: Output to console in Unicode if possible, or OEM codepage otherwise.
240 José Manuel Ferrer Ortiz (1):
241       Some Spanish translation updates.
243 Juan Lang (4):
244       wintrust: Fix typo.
245       wintrust: Implement WintrustLoadFunctionPointers.
246       wincrypt.h: Add missing definitions.
247       crypt32: Implement CertEnumSystemStore.
249 Ken Thomases (1):
250       winebrowser: Don't put the default mailers or browsers into the registry.
252 Kevin Koltzau (1):
253       winbase.h: Define FILE_FLAG_OPEN_REPARSE_POINT.
255 Kirill K. Smirnov (4):
256       server: Fix access check in screen buffer handling.
257       kernel32/tests: Add tests for console screen buffer.
258       server: Move console codepages to the server.
259       kernel32/tests: Add tests for console codepages.
261 Konstantin Kondratyuk (1):
262       ntdll: Correct a copy/paste mistake in NtWriteFile.
264 Laurent Vromman (1):
265       gdi32: Complete WidenPath implementation.
267 Louis Lenders (2):
268       kernel32: Add stub for BindIoCompletionCallback.
269       gdi32: Add check for null pointer in SetDIBitsToDevice.
271 Maarten Lankhorst (2):
272       winealsa: Improve sound mixer detection.
273       winmm: Use criticalsection for determining wether timer is synchronously killable.
275 Marcus Meissner (3):
276       riched32: Avoid implicit time().
277       server: set_server_state needs to be called with non-NULL server.
278       msi/tests: Increase buffer size a bit.
280 Mikołaj Zalewski (4):
281       user32: Fix TabbedTextOut.
282       comctl32: treeview: Make the focus test pass under Windows XP.
283       comctl32: treeview: Treeviews shouldn't be sending NM_TOOLTIPSCREATED (with testcase).
284       shell32: Handle invalid cbSize in Shell_NotifyIcon[AW].
286 Misha Koshelev (32):
287       msi: Add OLE automation conformance test.
288       msi: Merge OLE automation conformance tests.
289       msi: Add base class for OLE automation objects.
290       msi: Expand IDL file to contain some OLE automation interface functions.
291       msi: automation: Implement Record::StringData.
292       msi: automation: Implement View::Execute, Fetch, and Close.
293       msi: automation: Implement Database::OpenView.
294       msi: automation: Implement a few functions from the Session object.
295       msi: automation: Implement Installer::OpenPackage.
296       msi: automation: Expose Installer object.
297       msi: Added handlers for JScript/VBScript actions that call one script function.
298       msi: Add JScript/VBScript support.
299       msi/tests: automation: Free memory after string conversion.
300       msi/tests: automation: Convert method names to Unicode on the fly to simplify adding new tests.
301       msi/tests: automation: Integrate test_createrecord_and_version properly.
302       msi: script: Discriminate properly between JScript and VBScript.
303       msi/tests: automation: Session::Installer conformance test.
304       msi: automation: Store parent Installer object in Session.
305       msi: automation: Implement Session::Installer.
306       msi: automation: Use proper parameter names.
307       msi: automation: Generalize interface-specific data storage in AutomationObject.
308       msi/tests: automation: Add tests for Installer::Products and Installer::ProductState.
309       msi: automation: Implement Installer::Products and Installer::ProductState.
310       msi: automation: Output FIXMEs for unknown member names.
311       msi/tests: automation: Add test for Installer::RegistryValue.
312       msi/tests: automation: Simplify ok_exception.
313       msi: automation: Clear all VT_BSTR variants returned by DispGetParam.
314       msi: automation: Display errors on create_automation_object failure.
315       msi: automation: Move VariantClears out of specific case statements when possible.
316       msi: automation: Display an error on create_session failure.
317       msi/tests: automation: Add more tests for Installer::RegistryValue.
318       msi: automation: Implement Installer::RegistryValue.
320 Mounir IDRASSI (6):
321       advapi32: Check for error in CryptEnumProviderTypesA and CryptEnumProvidersA.
322       wincrypt.h: Add missing definitions.
323       rsaenh: Fix read_key_container bug that prevents CryptAcquireContext from correctly loading the keys.
324       rsaenh: Use the correct registry key in RSAENH_CPAcquireContext.
325       crypt32: Correct the implementation of CertCreateSelfSignCertificate.
326       rsaenh: Add support for mandatory parameters to RSAENH_CPGetProvParam.
328 Paul Vriens (3):
329       setupapi/tests: SetupQueryInfOriginalFileInformationA is not available on win98.
330       msi/tests: Properly cleanup after each test.
331       d3drm/tests: d3drm is removed from Windows Vista.
333 Peter Oberndorfer (3):
334       ntdll: Call NtQueryAttributesFile in RtlDoesFileExists_U.
335       ntdll: Use correct prototype for thread function.
336       rpcss: Use correct prototype for thread function.
338 Rob Shearman (26):
339       dsound: Implement QueryInterface for the class factory objects.
340       dsound: Implement QueryInterface for KsPropertySet objects.
341       winex11.drv: Remove an unneeded include.
342       rpcrt4: Print the correct values when warning about a bad frag length.
343       atl: Implement AtlComQIPtrAssign.
344       atl: Add stubs for AtlIPersistStreamInit_Load and AtlIPersistStreamInit_Save.
345       setupapi: SetupCopyOEMInfW should preserve the basename when copying the inf file to the inf directory if possible.
346       ole32: Remove an unnecessary QueryInterface in CoRegisterClassObject that CoMarshalInterface will already do.
347       setupapi: The inf file containing the SourceDisksFiles and SourceDisksNames sections is the same as hinf if there is no layout file specified.
348       setupapi: Add stubs for SetupQueryInfOriginalFileInformationA/W.
349       setupapi: Partially implement SetupQueryInfOriginalFileInformationW.
350       ole32: CoGetClassObject shouldn't return REGDB_E_KEYMISSING, so convert it to REGDB_E_CLASSNOTREG.
351       ole32: Add test for registered class becoming invalid when apartment is destroyed.
352       ole32: Revoke registered class objects when the apartment they were registered in is destroyed, not when the last CoUninitialize is called.
353       ole32: Add tests for in-process registered class objects not being visible from different apartments.
354       ole32: COM_GetRegisteredClassObject should only retrieve objects that were registered in the current apartment.
355       ole32: Split CoRevokeClassObject into a separate function, COM_RevokeRegisteredClassObject, which acts on a RegisteredClass object.
356       ole32: Fix CoRevokeClassObject to return RPC_E_WRONG_THREAD if it was called from a different apartment than the one that called CoRegisterClassObject.
357       ole32: Add documentation about registered class objects only being visible in the apartment in which they were registered.
358       ole32: Add documentation for error info functions.
359       ole32: Add a test for the retrieved local class object in another thread being a proxy.
360       ole32: Don't release the drop target on process uninitialisation if not revoked, just release the memory.
361       setupapi: Don't copy an OEM inf file if the exact same OEM inf file already exists.
362       setupapi: Improve the stub for SetupQueryInfOriginalFileInformation
363       ole32: Move the logic in StgCreateDocfile for "if no share mode given then DENY_NONE is the default" to before the validateSTGM check.
364       setupapi: SetupOpenInfFile returns INVALID_HANDLE_VALUE on failure, not NULL.
366 Rolf Kalbermatter (4):
367       advapi32: Store process ID into status structure on startup.
368       advapi32: Add prototypes for EnumServicesStatusExA/W.
369       advapi32: Implement GetServiceDisplayNameA.
370       advapi32: Implement GetServiceDisplayNameW.
372 Stefan Dösinger (42):
373       ddraw: Search for d3d primary a bit differently.
374       ddraw: Do not access the surface connection structure directly in SetPalette.
375       ddraw: Move the additional surface creation into a seperate function.
376       ddraw: Complex surfaces form a tree.
377       ddraw: Add a test for surface attachments.
378       ddraw: Store a WineD3DBaseTexture instead of a WineD3DTexture.
379       d3d: Pass the cube face to Create*Texture's surface creation callback.
380       ddraw: Cube texture support.
381       ddraw: Cube map structure test.
382       ddraw: Update the wined3d depth stencil on device creation, render.
383       wined3d: Add missing prototypes for GL_ARB_vertex_blend.
384       d3d: Calculate the size of WINED3DFVF_XYZBx FVFs.
385       ddraw: Forward all 4 world matrices to wined3d.
386       wined3d: Implement vertex blending using GL_ARB_vertex_blend.
387       ddraw: Fix reported caps on compressed surfaces.
388       wined3d: Full surface DXTn copy.
389       ddraw: Adjust the d3d viewport when changing the back buffer.
390       ddraw: Primary surfaces always have screen size.
391       d3d: Move clippers from DDraw to wined3d.
392       wined3d: Make the blit -> flip work for windowed rendering.
393       ddraw: Forward the mag filter correctly to wined3d.
394       wined3d: Handle DDPCAPS_ALPHA.
395       wined3d: Fix front buffer coords for gdi surfaces.
396       wined3d: Unset the StreamIsUP flag in ProcessVertices.
397       wined3d: Report only D16, D24S8 and D24X8 depth stencil formats as supported.
398       wined3d: Implement environment bump mapping with GL_ATI_envmap_bumpmap.
399       ddraw: More tests and fixes on surface attachments.
400       wined3d: Some more ProcessVertices fixes.
401       ddraw: Some caps fixes.
402       wined3d: Unload vertex weight data in unloadVertexData.
403       wined3d: Support bump environment mapping using GL_NV_texture_shader.
404       ddraw: Always set fullscreen mode in wined3d.
405       ddraw: Fix stupid bug when setting surface client memory.
406       wined3d: Manage private data in a wine linked list.
407       ddraw: Remove all non-d3d7 capability flags.
408       ddraw: Use point filter for blit operations.
409       ddraw: GetSurfaceDesc returns the surface memory while the surface is locked.
410       wined3d: Destroying the resource frees all private data.
411       wined3d: Implement DDBLT_DEPTHFILL on the active depth stencil target.
412       ddraw: Avoid fallout of failing tests.
413       wined3d: Only addref clippers if one exists.
414       wined3d: Prevent wrong bumpenvmap warnings.
416 Stefan Leichter (1):
417       advapi32: Fix initial cleanup of the registry keys used for testing.
419 Thomas Spear (2):
420       uninstaller: Fix trace message.
421       regedit: Spelling and grammar fixes.
423 Tim Schwartz (1):
424       net.exe: Initial stub.
426 Vitaliy Margolen (2):
427       ntdll: Use correct full access bitmask in NtQuerySecurityObject.
428       kernel32: Fix off by one error.
431 Alexandre Julliard
432 julliard@winehq.org