1 The Wine development release 3.17 is now available.
3 What's new in this release (see below for details):
4 - Improved Shell Autocomplete support.
5 - More implementation of OPC Services.
6 - Improvements to the Pager common control.
9 The source is available from the following locations:
11 https://dl.winehq.org/wine/source/3.x/wine-3.17.tar.xz
12 http://mirrors.ibiblio.org/wine/source/3.x/wine-3.17.tar.xz
14 Binary packages for various distributions will be available from:
16 https://www.winehq.org/download
18 You will find documentation on https://www.winehq.org/documentation
20 You can also get the current source directly from the git
21 repository. Check https://www.winehq.org/git for details.
23 Wine is available thanks to the work of many people. See the file
24 AUTHORS in the distribution for the complete list.
26 ----------------------------------------------------------------
28 Bugs fixed in 3.17 (total 36):
30 18271 MSI creates incompatible msi file in a specific case of create table
31 22995 Adobe FrameMaker 8 installer displays complaint about installation path drive type
32 23487 Buccaneer: freezes when changing screen resolution
33 25617 Clones <v1.30 crashes after some time (occasionally with an out of memory error)
34 27288 Facade installation ends prematurely when installing to a directory name with a space
35 28000 World War One Gold hangs during the initial loading stage
36 29603 Ski Challenge 2010: extremely long loading times (unless Win98 mode is set)
37 30785 MS Office 2007 reports msxml5 as not installed (WoW64)
38 34522 Drakan: Order of the Flame demo crashes before entering the main menu (needs native directmusic dlls)
39 34739 manual install of wine gecko gets in the wrong directory in Wow64 wine
40 38742 Watch_Dogs fail to run after successful Uplay installation
41 39020 aSc TimeTables 2016 (trial): window scrollbar is slow to respond
42 41039 Multiple kernel drivers crash on unimplemented function ntoskrnl.exe.FsRtlIsNameInExpression (VirtualBox, QQProtect for Tencent TIM (com.qq.office) 2.1.x)
43 41325 Actions of MSI installer properties missing or wrong
44 43550 Photoshop Elements 15 spams console with fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH unimplemented
45 43890 Divinity: Original Sin 2 does not successfully launch
46 44583 CryptBinaryToStringW returns wrong required buffer size.
47 45036 Cisco Jabber 11.x crashes on unimplemented function IPHLPAPI.DLL.GetIpNetTable2
48 45320 cmd creates an environment variable with an empty name
49 45347 Google Chrome installer crashes on unimplemented function propsys.dll.InitPropVariantFromCLSID
50 45485 Virtual Desktop "has no name"
51 45523 FIFA 18 Demo needs KERNEL32.dll.SetProcessWorkingSetSizeEx
52 45538 Multiple applications crash on unimplemented function msvcr120.dll.?wait@Concurrency@@YAXI@Z (Amazon Workspaces client, EnginePrime, Bethesda Launcher Updater)
53 45569 League of Legends 8.12+ needs NtQueryInformationProcess(ProcessCookie) stub
54 45673 Calling delegated proxy methods returns 0x800706b5 (RPC_S_UNKNOWN_IF), "err:rpc:RpcAssoc_BindConnection syntax {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}, 0.0 not supported"
55 45691 Installation of anno 1404 (GOG version Gold edition) fails on architecture win64 with wine 3.14
56 45724 Multiple EndScene calls result in multiple glFlush (FF XIV)
57 45813 Orbit Profiler crashes due to unimplemeneted function advapi32.TraceSetInformation()
58 45823 Paint.net (4.1.*) installer fails with error messagebox: System.NotImplementedException: : hr = m_pFactory1->CreateDrawingStateBlock
59 45831 Slack installer (Squirrel) fails:Unhandled Exception: System.AccessViolationException:at MS.Win32.PresentationCore.UnsafeNativeMethods.WICMetadataQueryReader.ContainsMetadataByName
60 45832 Windower 5 beta (FF XI tool) crash: Unhandled Exception: System.NotImplementedException at Windower.UI.Views.RootView.OnSourceInitialized (DwmExtendFrameIntoClientArea should return S_OK)
61 45833 Paint.net (4.1.*) installer fails with error messagebox: System.NotImplementedException: d2ddevicecontext.cpp (228) : hr = pDeviceContext->CreateBitmapBrush
62 45845 Microsoft Office 2010: installer crashes at the beginning of the installation process
63 45848 Assassin's Creed Chronicles: China - player model rendering issues in DX11 mode
64 45849 Paint.net (4.1.*) installer fails with error messagebox: System.NotImplementedException: d2ddevicecontext.cpp (326) : hr = m_pDeviceContext->CreateEffect( apBrush
65 45861 PhaseOne CaptureOne 11.2 (.NET 4.7 app) crashes on unimplemented function mscms.dll.WcsGetUsePerUserProfiles
67 ----------------------------------------------------------------
72 kernel32: Add DECLSPEC_HOTPATCH to functions patched by libtcmalloc.
73 ntdll: Add DECLSPEC_HOTPATCH to functions patched by libtcmalloc.
74 oleaut32: Add DECLSPEC_HOTPATCH to functions patched by MS Word 2010.
75 msvcrt: Add DECLSPEC_HOTPATCH to functions patched by libtcmalloc.
76 wmp/tests: Destroy the window before calling CoUninitialize.
77 imm32: Avoid using GCC's typeof extension.
78 gdi32: Avoid using GCC's typeof extension.
79 msvcrt: Use isnan instead of isnanf.
80 riched20: Avoid using GCC's typeof extension.
82 Alexandre Julliard (19):
83 server: Avoid potential size overflow for empty object attributes.
84 ntoskrnl/tests: Fix error check that fails on Windows.
85 server: Align object attributes to a DWORD-boundary.
86 server: Allow specifying the security descriptor for a new thread.
87 server: Move initial thread creation out of the create_process() function.
88 server: Specify the process in which to create a new thread.
89 server: Create the initial thread as a separate request.
90 server: Allow specifying the security descriptor for a new process.
91 server: Store the process exe file in the process structure.
92 server: Don't return the process exe file to the client.
93 server: Return more specific error status for NE binaries.
94 kernel32: Reimplement GetBinaryTypeW to rely on the server for header parsing.
95 kernel32: Remove the DOS/Win16/OS2 binary distinction.
96 kernel32: Move MODULE_get_binary_info implementation to process.c.
97 kernel32: Retrieve binary information from the server for PE files.
98 kernel32: Determine 32/64-bitness from the PE architecture.
99 kernel32: Return the binary type from get_binary_info().
100 kernel32: Get rid of the binary_info structure.
101 kernel32: Create a fresh PE info structure when running winevdm.
103 Alistair Leslie-Hughes (3):
104 kernel32/tests: Tests for ProcessCookie in NtQueryInformationProcess.
105 mfplat: Add MFCopyImage stub.
106 dsound: Don't trace current thread ID.
109 winedbg: In gdbproxy file, allow wine paths with spaces.
112 ntdll: Stub for ProcessCookie in NtQueryInformationProcess.
113 wined3d: Remove extraneous flush from EndScene.
114 wined3d: Use query buffer objects for occlusion queries.
117 advapi32/tests: Allow ERROR_ACCESS_DENIED for newer Win10.
118 qcap/tests: AVICo might be unavaiable on newer Win10.
119 kernel32: Add stub for SetProcessWorkingSetSizeEx.
120 user32/tests: Allow newer Win10 behaviour.
121 wininet/tests: Skip tests when querying INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT fails (newer win10).
124 winscard: Add SCardCancel stub.
125 iphlpapi: Add GetIpNetTable2 stub.
127 Dmitry Timoshkov (9):
128 windowscodecs: IWICMetadataQueryReader::GetMetadataByName() should accept NULL for returned value.
130 msi: Move parameter checks to a common helper in MsiSummaryInfoSetProperty.
131 msi: Do not attempt to copy a non-string property in MsiSummaryInfoGetProperty.
132 msi/tests: Also test full range of properties for MsiSummaryInfoSetPropertyW.
133 msi/tests: Add a test for repetitive MsiGetActiveDatabase calls.
134 ntdll/tests: Fix compilation with PSDK.
135 ntdll/tests: Clarify some file disposition test results, remove useless tests.
136 ntdll/tests: Add more file disposition tests.
139 comctl32/taskdialog: Use parentheses around & operator.
140 opcservices: Add missing break (coverity).
141 oleview: Add missing break (coverity).
142 shell32/brsfolder: Add shortcut to rename folders with the F2 key.
143 shell32/brsfolder: Add shortcut to delete folders with the delete key.
146 msxml3/tests: Make test_namespaces_as_attributes() static.
147 mshtml: Make HTMLStyle_init_dispex_info() static.
148 winhttp: Make winsock_init() static.
149 winebus.sys: Add a trailing '\n' to a TRACE().
150 quartz/tests: Make testpin_{AddRef,Release}() static.
151 wined3d: Modernize the macOS spelling.
153 Gabriel Ivăncescu (20):
154 shell32/autocomplete: Move the autocomplete processing and WM_KEYUP to separate functions.
155 shell32/autocomplete: Redesign the window proc to trigger on key presses instead of key release.
156 shell32/autocomplete: Don't auto-append on control characters.
157 shell32/autocomplete: Simplify a calculation.
158 shell32/autocomplete: Avoid another buffer overflow and handle arbitrary sizes for the auto-append string.
159 shell32/autocomplete: Remove the property after replacing the callback instead of before.
160 shell32/tests: Send WM_CHAR instead of WM_KEYUP.
161 shell32/autocomplete: Fix going up through the suggestion listbox.
162 shell32/autocomplete: Handle more messages for autocompletion.
163 shell32/autocomplete: Forward to the edit control outside of the switch to simplify the code.
164 shell32/autocomplete: Don't autocomplete at all on most control characters.
165 shell32/autocomplete: Send some messages directly to the edit control's procedure.
166 shell32/autocomplete: Handle WM_SETTEXT for autocompletion.
167 shell32/autocomplete: Pass hwnd for consistency with the other calls.
168 shell32/tests: Test hijacking the edit control's procedure after AutoComplete.
169 shell32/autocomplete: Remove flicker while redrawing the AutoComplete listbox.
170 shell32/autocomplete: Use 0 instead of CW_USEDEFAULT.
171 shell32/autocomplete: Use the same font for the AutoComplete listbox as the edit control.
172 shell32/autocomplete: Don't auto-append unless the caret is at the end.
173 shell32/autocomplete: Implement PageDown and PageUp for the auto-suggest listbox.
176 kernel32: Add GetQueuedCompletionStatusEx stub.
177 Revert "kernel32: Add GetQueuedCompletionStatusEx stub.".
180 msi/tests: Drop workarounds for Windows 2000.
181 msi: Allow recursive changes to the target folder path.
182 appwiz.cpl: Read more application attributes from the registry.
183 msi/tests: SQLGetInstalledDrivers fails if there are no ODBC drivers installed.
184 msi: Add support for ARPNOMODIFY, APRNOREMOVE and ARPNOREPAIR.
185 wbemprox: Implement StdRegProv.CreateKey.
188 wined3d: Make the resource parameter to wined3d_resource_get_decompress_format() const.
189 wined3d: Get rid of the "format_count" field from struct wined3d_adapter.
190 wined3d: Properly initialise the driver info in wined3d_adapter_no3d_init().
191 wined3d: Reorder the formats in debug_d3dformat() to match the enum order.
192 wined3d: Store the NPOT texture capabilities in struct wined3d_d3d_info.
193 wined3d: Rename "wined3d_adapter_opengl" to "wined3d_adapter_gl".
194 wined3d: Disallow creating devices without adapters in wined3d_device_create().
195 wined3d: Move the OpenGL vertex format to a separate structure.
196 wined3d: Move the OpenGL view class to struct wined3d_format_gl.
197 d3d8/tests: Properly check whether creating a device succeeded in test_flip().
198 d3d9/tests: Properly check whether creating a device succeeded in test_flip().
199 wined3d: Accept "renderer" in addition to "DirectDrawRenderer".
200 wined3d: Introduce WINED3DFMT_FLAG_BLIT.
201 wined3d: Move the OpenGL texture format to struct wined3d_format_gl.
202 d2d1: Introduce a debug helper for D2D1_POINT_2F.
203 ddraw: Do not report IID_IDirect3DHALDevice in ddraw_find_device() with DDRAW_NO3D.
204 wined3d: Do not report WINEDDSCAPS_VIDEOMEMORY for WINED3D_NO3D adapters.
205 ddraw: Reject creating DDSCAPS_VIDEOMEMORY surfaces with DDRAW_NO3D.
206 wined3d: Store the wined3d creation flags for NO3D adapters as well.
207 wined3d: Support NPOT textures on NO3D adapters.
208 wined3d: Set a feature level for NO3D adapters.
209 wined3d: Get rid of the "pointsize_min" and "pointsize_max" fields from struct wined3d_gl_limits.
210 wined3d: Move "texture_size" from struct wined3d_gl_limits to struct wined3d_d3d_limits.
211 ddraw: Do not request 3D-usages for DDRAW_NO3D surfaces.
212 wined3d: Do not create DCs for all textures on WINED3D_NO3D adapters.
213 ddraw: Only do asynchronous clears when the application asked for them.
214 ddraw: Check for DDRAW_NO3D before checking for a video memory surface in d3d_device_create().
216 Huw D. M. Davies (2):
217 setupapi: For consistency use __x86_64__ instead of __x86_64.
218 msvcp90: Remove unnecessary check for __arm__.
221 winhttp: Modify index only if query_headers succeeded.
222 winhttp: Set last error in WinHttpQueryAuthSchemes when no auth scheme is found.
223 user32: Make sure that passed window handle is scroll control before accessing wExtra in SCROLL_GetInternalInfo.
226 include: Add ITextDocument2Old and ITextDocument2 interface.
227 riched20: Add stub for ITextDocument2Old interface.
228 msftedit: Add tests for interfaces.
231 msvcrt: Do not put cmd.exe special environment variables into the environ.
234 comctl32/listview: Fix subitem invalidation.
236 Joris van der Wel (1):
237 advapi32/tests: Add additional tests for passing a thread sd to CreateProcess.
240 wined3d: Use get_format_internal() to get WINED3DFMT_UNKNOWN.
241 wined3d: Add missing formats to debug_d3dformat().
242 wined3d: Store additional flags directly in wined3d_format_block_info.
243 wined3d: Initialise typeless_id for typeless formats early.
244 wined3d: Initialise typeless formats after all formats properties are initialised.
245 wined3d: Move get_flexible_vertex_size() to device.c.
246 wined3d: Cleanup get_flexible_vertex_size().
247 include: Add d3d11on12 header.
248 d3d11: Add D3D11On12CreateDevice() stub.
249 wined3d: Implement vCoverage register.
250 wined3d: Apply legacy format swizzles only when requested.
251 d3d11/tests: Add a few more tests for texture formats.
252 dxgi: Factor out dxgi_validate_swapchain_desc().
253 dxgi: Validate swapchain desc in d3d12_swapchain_ResizeBuffers().
254 dxgi: Validate formats for flip presentation model.
255 dxgi: Add support for DXGI_FORMAT_R16G16B16A16_FLOAT D3D12 swapchains.
256 dxgi/tests: Add test for swapchain formats.
257 dbghelp: Fix memory leak in SymInitializeW() (Coverity).
258 user32: Call DefWindowProc() in DesktopWndProc().
259 user32/tests: Add test for desktop window procedure.
260 dxgi/tests: Add test for swapchain window messages.
261 dxgi/tests: Add test for swapchain window styles.
262 dxgi/tests: Avoid "skipping tests" in skip() messages.
263 wined3d: Introduce get_format_by_idx() helper function.
264 wined3d: Introduce separate function for OpenGL formats initialisation.
265 wined3d: Add support for variable-sized format structures.
266 wined3d: Allocate memory for formats in wined3d_adapter_init_format_info().
267 wined3d: Store max_clip_distances in struct d3d_info.
268 dxgi: Introduce wined3d_feature_level_from_d3d() helper function.
269 wined3d: Make feature level enum compatible with Direct3D enum.
270 wined3d: Add remaining feature levels.
271 wined3d: Pass feature levels to wined3d_device_create().
272 wined3d: Introduce wined3d_device_get_feature_level().
273 dxgi: Get rid of set_feature_level() from dxgi_device_layer.
274 dxgi: Simplify dxgi_adapter_GetDesc().
275 dxgi: Merge dxgi_check_feature_level_support() into dxgi_adapter_CheckInterfaceSupport().
276 wined3d: Cleanup fallback cards list.
277 d3d11: Trace skipped DXBC chunks.
278 wined3d: Derive allowed shader versions from the current feature level.
279 wined3d: Add GL_ARB_shader_viewport_layer_array extension.
280 d3d10core/tests: Add test for staging buffers.
281 d3d10core/tests: Add a few more tests for texture formats.
282 d3d10core/tests: Use SetRect() in more places.
283 d3d11/tests: Use SetRect() in more places.
286 dwmapi: Return S_OK in DwmExtendFrameIntoClientArea.
287 mscms: Add stub for WcsGetUsePerUserProfiles.
288 mscms: Update spec to Windows 7.
290 Michael Stefaniuc (11):
291 setupapi: Use the ARRAY_SIZE() macro.
292 shlwapi: Avoid a temporary variable.
293 shlwapi: Avoid ARRAY_SIZE-like macros.
294 shlwapi: Use the ARRAY_SIZE() macro.
295 uxtheme: Use the ARRAY_SIZE() macro.
296 winex11.drv: Use the ARRAY_SIZE() macro.
297 winmm: Use the ARRAY_SIZE() macro.
298 wininet: Avoid an ARRAY_SIZE-like macro.
299 wininet: Use the ARRAY_SIZE() macro.
300 winhttp: Avoid a variable that holds an ARRAY_SIZE() result.
301 winhttp: Use the ARRAY_SIZE() macro.
304 d2d1: Implement GetSurface() for bitmaps.
305 include: Add ID2D1BitmapBrush1 definition.
306 comctl32/button: Fix text buffer leak (Coverity).
307 propsys: Add InitPropVariantFromCLSID().
308 xmllite/writer: Fix "xml:space" output.
309 opcservices/tests: Fix copy-pasted copyright line.
310 d2d1: Update to ID2D1BitmapBrush1.
311 d2d1: Implement newer CreateBitmapBrush() variant.
312 include: Add ID2D1Effect definition.
313 urlmon/tests: Add IsEqual test for custom IUri implementation.
314 opcservices/uri: Fix IsEqual() to work with OPC URI objects.
315 opcservices/tests: Add some GetRelativeUri() tests.
316 opcservices: Fix path used for part URIs.
317 opcservices: Implement CombinePartUri().
318 opcservices: Write package parts.
319 opcservices: Write relationship parts.
320 opcservices: Improve error handling (Coverity).
321 opcservices: Implement GetPart().
322 opcservices: Implement PartExists().
323 opcservices: Write full content type stream.
324 d2d1: Implement CreateBitmapFromDxgiSurface().
325 opcservices: Improve parameter validation in CreateRelationship().
326 opcservices: Enforce unique relationship id.
327 opcservices: Initialize archive write position.
328 opcservices: Fix relationship stream names.
329 opcservices: Add content type entry for relationship parts.
330 opcservices: Write relationship stream for parts.
331 opcservices: Update content stream position on Read().
332 xmllite/writer: Fix writing prefixed attributes.
333 dwrite/layout: Test resulting line width before adding inline trimming run.
334 d2d1: Fix compatible target initialization.
335 d2d1/tests: Test that device is reused for compatible targets.
336 d2d1: Implement GetDevice() for device context.
337 crypt32/base64: Fix certificate request header and trailer in CryptBinaryToStringW() output.
338 crypt32: Fix NULL output buffer handling for CryptBinaryToString().
339 crypt32: Fix output buffer handling for CRYPT_STRING_BINARY case.
340 crypt32: Fix formatted output length for base64.
341 d2d1: Add ID2D1Effect stub.
342 d2d1: Use surface format for shared bitmap if it wasn't specified.
343 crypt32: Add CRYPT_STRING_BINARY mode for CryptBinaryToStringW().
346 wsdapi: Ignore duplicate messages.
347 wsdapi: Implement matching of names in MatchProbeEx.
348 wsdapi: Implement generation of ProbeMatches message.
349 wsdapi: Send Probe Matches message via UDP unicast.
350 wsdapi: Don't include null character at the end of sent messages.
351 wsdapi: Prefer Wine version.
354 ole32: Initialize more FORMATETC fields using InitFormatEtc helper.
355 ole32: Add IDataObject_GetData tests on synthesized format.
356 ole32: Change DataObjectImpl_GetData return value to show more implementation problems.
357 ole32: Improve OleClipboardData GetData implementation.
358 ole32: Add more IStorage clipboard tests.
361 winemac: Allow Command to be mapped to Ctrl.
364 user32/tests: Use the correct procedure for dialog tests (Valgrind).
365 comctl32: Add NULL checks to SetWindowSubclass (Valgrind).
367 Zebediah Figura (37):
368 rpcrt4/tests: Add tests for delegated proxy methods.
369 ole32: Use the real proxy IID in ClientRpcChannelBuffer_GetBuffer().
370 quartz/filtergraph: Return correct interface for IID_IGraphVersion.
371 quartz/tests: Add some tests for IFilterGraph_EnumFilters().
372 quartz/filtergraph: Factor out find_filter_by_name().
373 quartz: Merge enumfilters.c into filtergraph.c.
374 quartz/filtergraph: Pass an IFilterGraphImpl to create_enum_filters().
375 quartz/filtergraph: Use a linked list to store filters.
376 quartz/tests: Rewrite test_render_filter_priority().
377 quartz/tests: Test interfaces exposed by the filter graph.
378 quartz/tests: Add some tests for IFilterGraph_Add/RemoveFilter().
379 quartz/filtergraph: Unset the name of a removed filter.
380 quartz/tests: Add some tests for IFilterGraph_FindFilterByName().
381 quartz/tests: Get rid of test_graph_builder().
382 quartz/tests: Add some tests for IFilterGraph_ConnectDirect() and IFilterGraph_Disconnect().
383 quartz/tests: Add some tests for IGraphBuilder_Connect().
384 quartz/filtergraph: Don't use QueryInternalConnections() to find output pins in FilterGraph2_Connect().
385 quartz/filtergraph: Try filters in the graph first in FilterGraph2_Connect().
386 quartz/filtergraph: Check pin name instead of id in connect_output_pin().
387 quartz/filtergraph: Try other output pins if one shouldn't be rendered.
388 quartz/filtergraph: Simplify FilterGraph2_RenderRecurse().
389 quartz/filtergraph: Don't recursively render pins whose names begin with ~.
390 dbghelp/dwarf: Use debugstr_a() to trace external strings.
391 devenum: Factor friendly name and CLSID registration into register_codec().
392 devenum: Register AVI capture devices as codec devices.
393 devenum: Only scan for devices for the requested filter category.
394 quartz/filtergraph: Improve HRESULT propagation from IFilterGraph2_Connect().
395 quartz/tests: Add some tests for IMediaFilter_SetSyncSource() and IMediaFilter_GetSyncSource().
396 quartz/filtergraph: Also set the default sync source if necessary in IMediaControl_Pause().
397 quartz/tests: Add some tests for filter states.
398 quartz/filtergraph: Implement IMediaControl state functions on top of IMediaFilter.
399 quartz/tests/filtergraph: Add some tests for EC_COMPLETE.
400 quartz/filtergraph: Check for AM_FILTER_MISC_FLAGS_IS_RENDERER or IMediaSeeking to count renderers.
401 quartz/tests: Move file source filter tests to filesource.c.
402 quartz/tests/filesource: Test interfaces exposed by the file source filter.
403 quartz/filesource: Don't expose IAMFilterMiscFlags.
404 strmbase: Fix implementation of IEnumPins_Skip().
407 wineboot: Create user folders if they don't exist.
408 comdlg32/tests: Fix crashes.
409 comdlg32: Check invalid options in IFileDialog::SetOptions.
410 comdlg32/tests: Fix failures on newer Windows 10.
411 comctl32/pager: Support toolbar notification conversion.
412 comctl32/pager: Support tooltip notification conversion.
413 comctl32/pager: Support comboboxex notification conversion.
414 comctl32/pager: Support date time picker notification conversion.
415 comctl32/pager: Support list view notification conversion.
416 comctl32/pager: Support tree view notification conversion.