1 The Wine development release 1.9.15 is now available.
3 What's new in this release (see below for details):
4 - More shader instructions in Direct3D.
5 - Performance improvements in GDI.
6 - Better multi-joystick support on macOS.
7 - Active Scripting improvements.
8 - Additional stream support in the C++ runtime.
11 The source is available from the following locations:
13 http://dl.winehq.org/wine/source/1.9/wine-1.9.15.tar.bz2
14 http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.15.tar.bz2
16 Binary packages for various distributions will be available from:
18 http://www.winehq.org/download
20 You will find documentation on http://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check http://www.winehq.org/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 1.9.15 (total 22):
32 2905 Kings Quest 8 crashes while loading a saved game
33 14821 Kirikiri based games update screen slowly
34 21891 info zip 3.0 won't append to existing archive
35 33225 Metacell demo can't play music in mp3 format
36 36653 Tesla Effect (game): Video sequences display green screen.
37 37361 Scottrade Elite 2013 fails data streaming after about 90% of logins
38 37429 Post provider setup of WMI core 1.5 installer needs advapi32.dll.WmiQueryGuidInformation stub
39 37977 Multiple applications using VBScript/JScript need scripting host 'WScript.Quit' implementation
40 38475 Unused variable in glsl_shader.c
41 38997 Non-deterministic device id assignment when using more than one joystick/gamepad (multiplayer). Unable to deactivate joystick through registry or wine control applet
42 39845 Randomly "WinMorse2.exe" doesn't work under Wine.
43 40760 GOG Galaxy crashes with unimplemented function vcruntime140.dll.set_unexpected
44 40764 Bloodrayne 1-2 hang when playing videos
45 40822 Aliens vs. Triangles demo needs WINED3DFMT_R32_SINT format
46 40861 Kingsoft Office 2012 needs ntoskrnl.exe.IoAttachDevice
47 40872 Gauntlet requires dcl_immediateConstantBuffer support
48 40887 Nook eReader 2.5.3.4630 needs ncrypt.dll.NCryptOpenStorageProvider
49 40915 Max Payne demo installer displays highlighted text
50 40923 Alone in the Dark (2008) crashes on launch with msvcrt assertion
51 40932 [GAME] RAN GS crashes when starting (needs msvcp90.dll.?_Random_device@tr1@std@@YAIXZ)
52 40939 dlls/msvcr100 - error building on NetBSD
53 40959 mIRC: Crash on running code to see if mIRC is running in Wine.
55 ----------------------------------------------------------------
59 Aaryaman Vasishta (7):
60 d3drm: Store reference to IDirect3DRM in d3drm_device_create().
61 d3drm: Move struct d3drm_device to d3drm_private.h.
62 d3drm: Rearrange version 1, 2 functions after version 3 for IDirect3DRMDevice*.
63 d3drm: Implement IDirect3DRMDevice*::Add/DeleteDestroyCallback.
64 d3drm: Fix IDirect3DRMDevice{2-3}::GetDirect3DDevice2 return values on failure.
65 d3drm: Implement IDirect3DRMDevice*::InitFromD3D.
66 d3drm: Implement IDirect3DRMDevice{2-3}::InitFromD3D2.
69 mciqtz32: Use dB unit when setting audio volume.
72 include: Add FolderItems2 and FolderItems3.
73 shell32: Print RIIDs as strings in shell dispatch TRACE statements.
74 shell32: Stub out FolderItems.
75 shell32/tests: Add tests for FolderItems.
76 shell32: Return E_INVALIDARG from FolderItems functions on null output.
77 shell32: Set output interfaces to NULL in FolderItems functions.
78 shell32/tests: Free winetest BSTR after use.
79 shell32/tests: Change to temp dir to be able to remove winetest dir.
81 Alexandre Julliard (8):
82 server: Add a helper function to create a symlink to an existing object.
83 server: Add a helper function to create session directories and symlinks.
84 kernel32: Store synchronization objects under the session directory.
85 user32: Store window station objects under the session directory.
86 configure: Set the libwine soname on Android.
87 winegcc: Set the soname of all dlls on Android.
88 loader: The preloader is not supported on Android, don't try to use it.
89 server: Avoid unaligned access when printing x86 floating point registers.
91 Alistair Leslie-Hughes (3):
92 inetcomm: Improve IMimeBody GetHandle return value.
93 inetcomm: GetBody returns MIME_E_NOT_FOUND when no parent found.
94 vcruntime140: Forward set_unexpected.
97 po: Update Ukrainian translation.
98 avifil32: Use debugstr_guid() in TRACE() message.
99 hlink: Use debugstr_guid() in FIXME() message.
100 ole32: Use debugstr_guid() in TRACE() messages.
101 shell32: Use debugstr_guid() and debugstr_w() in TRACE() messages.
104 po: Update Lithuanian translation.
107 ntoskrnl.exe: Add IoAttachDevice stub.
108 include: Add more NTE_* definitions.
109 include: Add initial ncrypt.h.
110 ncrypt: Add some stub functions.
111 shell32: Add SHGetPropertyStoreForWindow stub.
114 winejoystick.drv: Print location ID in debugstr_device on the Mac.
115 winejoystick.drv: Sort devices by location ID on the Mac.
116 dinput: Print location ID in debugstr_device on the Mac.
117 dinput: Sort devices by location ID on the Mac.
118 dinput: Alter function name and code style.
120 Dmitry Timoshkov (2):
121 ntdll: Add support for fs segment in ThreadDescriptorTableEntry query.
122 kernel32/tests: Add tests for GetThreadSelectorEntry.
125 webservices: Use a long double variable in format_double.
127 sspicli: Implement SspiEncodeStringsAsAuthIdentity.
128 sspicli: Implement SspiZeroAuthIdentity.
129 sspicli: Implement SspiEncodeAuthIdentityAsStrings.
130 sspicli: Implement SspiFreeAuthIdentity.
131 sspicli: Implement SspiLocalFree.
132 secur32: Forward Sspi functions to sspicli.
133 credui: Add a stub implementation of CredUIPromptForWindowsCredentialsW.
134 credui: Add stub implementations of CredPackAuthenticationBufferW and CredUnpackAuthenticationBufferW.
135 credui: Use the input identity passed to SspiPromptForCredentialsW.
138 wined3d: Synchronise WINED3D_CS_OP_PRESENT resource access.
139 wined3d: Synchronise WINED3D_CS_OP_CLEAR resource access.
140 wined3d: Synchronise WINED3D_CS_OP_DRAW resource access.
141 d3d10: Validate offsets in parse_shader() (AFL).
142 d3d10: Validate offsets and size in parse_fx10_type() (AFL).
143 d3drm/tests: Fix some IDirect3D2 reference leaks.
144 wined3d: Also try DRIVER_MODEL_NT6X in init_driver_info().
145 wined3d: Get rid of redundant NULL checks for event query "extendedData".
146 wined3d: Fail event query creation when event queries are not supported.
147 wined3d: Get rid of redundant ARB_occlusion_query checks.
148 wined3d: Get rid of redundant ARB_timer_query checks.
149 wined3d: Use a single allocation for event queries.
150 wined3d: Use a single allocation for occlusion queries.
151 wined3d: Use a single allocation for timestamp queries.
152 wined3d: Introduce a separate function for creating timestamp disjoint queries.
155 regedit: Use output_message() in regproc.c for better internationalization.
156 regedit: Use Unicode when printing system error messages.
157 regedit: Open export file with a wide-character stream.
158 regedit: Use Unicode for registry key paths.
159 regedit: Rewrite processRegLinesA into an ANSI version of processRegLinesW.
160 regedit: Use generic ARRAY_SIZE macro to allow for broader use.
161 regedit: Output the registry data type as a string when it is used in error messages.
162 reg: Handle a special case for Default values and 'reg query'.
164 Huw D. M. Davies (10):
165 gdi32: Add back the extents test.
166 gdi32: Use the get_mono_dc_colors() helper.
167 gdi32: Add a mask_rect primitive for use when the src is 1bpp.
168 gdi32: Use alloc_gdi_path() to create the path.
169 gdi32: Change get_gdi_flat_path() to return an opaque path pointer.
170 gdi32: Reduce the number of memory allocations required for gdi paths.
171 gdi32: Copy 1-bpp pixels one byte at a time.
172 gdi32: Add helpers to allocate, grow and free regions.
173 gdi32: Add a small rectangle buffer to reduce memory allocation.
174 gdi32: Use an internal version of LPtoDP that takes a DC * where possible.
176 Iván Matellanes (21):
177 msvcirt: Reset the pointers on file sync in most cases.
178 msvcirt: Add stub for class istream.
179 msvcirt: Implement istream constructors/destructors.
180 msvcirt: Implement istream::eatwhite.
181 msvcirt: Implement istream::gcount.
182 msvcirt: Implement istream::ipfx.
183 msvcirt: Implement istream::isfx.
184 msvcirt: Implement istream::get for strings.
185 msvcirt: Implement istream::get for single characters.
186 msvcirt: Implement istream::get for streambufs.
187 msvcirt: Implement istream::getline.
188 msvcirt: Implement istream::ignore.
189 msvcirt: Implement istream::peek.
190 msvcirt: Implement istream::putback.
191 msvcirt: Implement istream::read.
192 msvcirt: Implement istream::seekg.
193 msvcirt: Implement istream::sync.
194 msvcirt: Implement istream::tellg.
195 msvcirt: Implement istream::getint.
196 msvcirt: Implement istream::getdouble.
197 msvcirt: Implement istream::ws.
200 gdi32: Make CreateDIBSection hotpatchable.
201 kernel32: Make MapViewOfFile and VirtualAlloc hotpatchable.
202 mshtml/tests: Use relative URLs in navigation.js.
203 mshtml: Use bind_to_tree callback to parse dynamically added scripts.
204 mshtml: Moved getting text from ScriptBSC to separated function.
205 mshtml: Moved parsing external script to OnStopBinding callback.
206 mshtml: Store external script text in HTMLScriptElement object.
207 mshtml: Merge parse_extern_script and bind_script.
208 mshtml: Moved script execution logic from HTMLScriptElement::put_src to script BSC.
209 mshtml: Set loaded script ready state if binding failed.
210 mshtml: Set interactive script ready state change in the right places.
211 mshtml: Load dynamically created script elements asynchronously.
212 mshtml: Added asynchronous script loading tests.
213 jscript: Use IDispatch* as iface_to_jsdisp argument type.
214 jscript: Optimize iface_to_jsdisp by using vtbl comparison.
217 winegstreamer: Don't replace internal bus.
218 winegstreamer: Don't store decodebin explicitly.
219 winegstreamer: Do conversion before flipping.
220 winegstreamer: Fix refcounting for videoflip.
221 d3d9: Adjust D3DCOLOR_ARGB to avoid shift overflow.
222 quartz: Images in Direct3D surfaces must be top-down.
223 quartz: Return the fullscreen status in Videorenderer.
226 kernel32/tests: Add some tests for fiber-local storage.
229 po: Update German translation.
232 d3d11: Implement d3d11_immediate_context_RSGetScissorRects().
233 d3d10core/tests: Add test for immediate constant buffer.
234 wined3d: Use uintBitsToFloat() for float immediate shader constants.
235 wined3d: Set load_local_constsF in shader_init().
236 d3d11/tests: Add test for writing floating-point specials to render target.
237 d3d10core/tests: Add test for writing floating-point specials to render target.
238 wined3d: Recognize SM5 vocp register.
239 wined3d: Implement SM4 umin instruction.
240 wined3d: Recognize SM4.1 lod opcode.
241 wined3d: Recognize SM4.1 samplepos opcode.
242 wined3d: Recognize SM4.1 sampleinfo opcode.
243 wined3d: Recognize SM5 ubfe opcode.
244 wined3d: Add ARB_vertex_type_2_10_10_10_rev extension.
245 wined3d: Store vertex attribute size instead of component size in wined3d_format.
246 wined3d: Add support for WINEDFMT_R10G10B10A2_UNORM vertex format.
247 d3d11/tests: Add test for DXGI_FORMAT_R10G10B10A2_UNORM vertex format.
248 d3d10core/tests: Add test for DXGI_FORMAT_R10G10B10A2_UNORM vertex format.
249 wined3d: Enable rendering to integer textures.
250 d3d11/tests: Add test for bitwise shader instructions.
251 d3d10core/tests: Add test for some shader instructions.
252 d3d11: Validate "MiscFlags" and "StructureByteStride" for raw and structured buffers.
253 d3d11/tests: Add more tests for structured and raw buffers.
254 d3d10core/tests: Add test for CreateBuffer() with invalid misc flags.
255 d3d11: Allow creating UAVs for structured buffers with NULL description.
256 d3d11: Allow creating SRVs for structured buffers with NULL description.
259 kernel32: Overhaul the handling of argv in set_process_name().
260 winemac: Only call -[NSApplication unhide:] if the app is actually hidden.
261 winemac: Call -removeFromSuperview on a view before adding it to a superview, on 10.9 and earlier.
264 po: Update Norwegian translation.
266 Kirill K. Smirnov (1):
267 winex11.drv: Avoid passing NULL to memcpy (clang).
270 wined3d: Update vertex shader when the swizzle map changes.
271 wined3d: Check BLENDWEIGHT and BLENDINDICES FFP attributes for fixups.
272 d3d8: Use a union in tss_lookup. (Coverity).
273 ddraw: Use a union in tss_lookup. (Coverity).
276 ntdll: Use sysinfo to report correct number of physical pages.
277 kernel32/tests: Add tests for UnmapViewOfFile with unaligned pointer.
278 ntdll: NtUnmapViewOfSection should succeed for all offsets within the mapped range.
279 kernel32: In Win9x mode UnmapViewOfFile requires base address of a mapping.
281 Michael Stefaniuc (43):
282 windowscodecs: Remove a redundant NULL check before HeapFree().
283 winepulse: Remove a redundant NULL check before HeapFree().
284 comctl32: Use InflateRect() too when expanding in just one axis.
285 explorerframe: Use the proper RECT APIs.
286 explorerframe/tests: Use SetRect() instead of open coding it.
287 explorerframe/tests: The width is between the RECT left and right fields.
288 explorerframe/tests: Use EqualRect() instead of open coding it.
289 wordpad: Use InflateRect() instead of open coding it.
290 riched20: Get rid of casts from COM objects to interfaces.
291 riched20/tests: Use InflateRect() too when expanding in just one axis.
292 ieframe: Use InflateRect() instead of open coding it.
293 hhctrl: Use SetRect() instead of open coding it.
294 d3d9: Use SetRect() instead of open coding it.
295 d3dxof: Avoid casts from COM objects to interfaces.
296 d3dcompiler/tests: Avoid using the LPD3DBLOB COM iface type.
297 taskmgr: Remove some old commented out code, mostly C++.
298 taskmgr: Use SetRect() instead of open coding it.
299 mshtml: Use SetRect() instead of open coding it.
300 maintainers: D3dxof is a D3D helper library too.
301 avifil32: Use atomic operations to manipulate the refcount.
302 avifil32: Clean up the IClassFactory creation.
303 avifil32: Avoid using the LPCLASSFACTORY COM iface type.
304 dmsynth: Simplify error handling when creating a DMSynthSink object.
305 avifil32: Move CreateEditableStream() to avoid exporting a helper.
306 avifil32: Avoid casts of IAVIEditStream to the COM object.
307 avifil32/tests: Add some basic COM tests for AVIEditStream.
308 avifil32: Avoid casts from COM objects to ifaces.
309 usp10/tests: Use SetRect() instead of open coding it.
310 strmbase: Don't cast IQualityControl to the COM object.
311 strmbase: Avoid a COM object to interface cast.
312 amstream: Avoid using the LPUNKNOWN COM iface type.
313 mshtml: Avoid using LPSTREAM.
314 user32: Use SetRect() instead of open coding it.
315 user32: Simplify a RECT copy.
316 dmsynth: The DMSynth{,Sink} COM objects don't support aggregation.
317 dmsynth/tests: Move the dll availability check to a separate function.
318 dmsynth/tests: Add COM tests for DMSynth and DMSynthSink.
319 dmsynth: Lock/unlock the module only on creation/desctruction.
320 msctf: Don't crash on NULL input in EnumLanguageProfiles().
321 msctf: Avoid a cast from IEnumTfLanguageProfiles to the COM object.
322 hlink/tests: Use wine_dbgstr_guid() to print a REFIID.
323 shlwapi/tests: Use wine_dbgstr_guid() to trace REFIIDs.
324 comctl32: Avoid using the LPSTREAM COM iface type.
327 webservices/tests: Fix WsCreateMessage() arguments (Clang).
328 webservices/tests: Fix WsReadValue type argument values (Clang).
329 mshtml: Fix a typo in a trace message.
330 msscript: Implement some connection point methods.
331 xmllite/writer: Close open tag with WriteFullEndElement().
332 xmllite/writer: Implement WriteCharEntity().
333 xmllite/writer: Fix formatted output with WriteFullEndElement().
334 comctl32/trackbar: Update thumb on range change.
335 comctl32/trackbar: Fix mouse position to thumb position conversion rounding.
336 dwrite: Ignore fonts with dot-prefixed names.
337 po: Update Russian translation.
338 wbemdisp: Fix a crash on null interface pointer.
339 msscript: Initial support for hosting script engines.
340 dwrite: Use more intuitive naming for layout stages.
341 dwrite: Validate CreateTextFormat() arguments.
342 dwrite: Implement SetTrimming() for layout.
343 msscript: Implement Timeout property.
344 dwrite: Implement GetOverhangMetrics() for trimming sign.
345 dwrite/tests: A couple of tests for matching with invalid font properties.
346 dwrite: Filter invalid weight in SetFontWeight().
347 msscript: Implement SetAdvise/GetAdvise.
348 msscript: Added IServiceProvider stub.
349 msscript: Added IActiveScriptSiteWindow stub.
350 msscript: Implement Reset().
351 comctl32/tooltips: Fix TTM_GETMARGIN/TTM_SETMARGIN handling.
354 msi: Don't validate platform while checking if transform is applicable.
355 msvcr100: Fix compilation on NetBSD (conflicting fenv_t definitions).
358 server: Move the \BaseNamedObjects symlink in \Sessions\0 to \Sessions\1\BaseNamedObjects.
360 Sebastian Lackner (11):
361 secur32: Define missing gnutls_kx_algorithm_t constants for gnutls versions < 3.
362 kernel32/tests: Use inline implementation of NtCurrentTeb for debugger tests.
363 ntdll/tests: Use inline implementation of NtCurrentTeb for exception tests.
364 ntdll/tests: Use inline implementation of NtCurrentTeb for rtl tests.
365 opengl32/tests: Include wgl.h and remove duplicate declarations.
366 dmsynth: Fix a module refcounting regression.
367 kernel32/tests: Use inline implementation of NtCurrentTeb for process tests.
368 vcomp: Implement 16-bit atomic instructions.
369 vcomp/tests: Add tests for 16-bit atomic instructions.
370 vcomp: Implement 8-bit atomic instructions.
371 vcomp/tests: Add tests for 8-bit atomic instructions.
374 ddraw/tests: Skip A4R4G4B4 ckey tests on Nvidia.