1 The Wine development release 3.9 is now available.
3 What's new in this release (see below for details):
4 - OpenGL core contexts enabled by default in Direct 3D.
5 - Beginnings of Direct 3D 12 implementation using vkd3d.
6 - More support for the Task Scheduler.
7 - Some more Task Dialog support.
8 - Better arrow support in GdiPlus.
11 The source is available from the following locations:
13 https://dl.winehq.org/wine/source/3.x/wine-3.9.tar.xz
14 http://mirrors.ibiblio.org/wine/source/3.x/wine-3.9.tar.xz
16 Binary packages for various distributions will be available from:
18 https://www.winehq.org/download
20 You will find documentation on https://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check https://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 3.9 (total 33):
32 32907 AMMYY Admin v3.0 crashes at startup in Win7 mode ('NtSetInformationToken' needs to support 'TokenSessionId')
33 34910 WinLaunch 0.4.x (OSX Style free Launcher) complains about missing "%USERPROFILE%\\Application Data\\Microsoft\\Windows\\Themes\\" directory
34 37736 Photoshop Elements 11/12 installers hang when installing common shared technologies ('GetWindowTextLength' must not call 'SendMessage' for window handles belonging to other processes)
35 37776 iTunes 12.0.1 crashes on startup
36 38648 Multiple games and applications need support for Mesa OpenGL >= 3.2 core profiles, Shader Model 4, GLSL 1.50 (Microsoft Office 2013 installer, .NET/XNA games)
37 38886 AArch64 platforms: ABI Problems wrt varargs (needs arm64 specific __builtin_ms_va_list)
38 38944 RebelBetting: Arb browser uses incorrect stakes
39 38945 RebelBetting: Collapsing the top arb row reports an error
40 38946 RebelBetting: Upgrade button opens Explorer
41 39078 Visual Pinball 8.x, 9.x, 10.x crash on exit after creating a new table, needs support for VBScript IActiveScriptDebug
42 39294 iTunes 12 does not start anymore
43 39299 Arkanoid++ 0.2 crashes on startup
44 39458 The Club demo crashes at launch
45 40271 Can't start UPlay: "Connection Lost" error
46 40426 Wine's explorer.exe shell doesn't display properties dialog
47 40451 Visual C++ Build Tools 2015 silently fails on startup, needs 'feclient' stub dll (Windows NT File Encryption Client Interfaces)
48 40743 64-bit Tunes 12.x installer mixes up 32-bit and 64-bit packages, creating broken installation
49 41063 Batman - The Telltale Series requires ID3D11DeviceContext1::UpdateSubresource1()
50 42878 64-bit iTunes 12.1.3 crashes on startup
51 42941 Moorhuhn Kart 3: Mouse pointer accelerating too fast
52 43491 Ri-li 2.0.1: No sound
53 44465 Micrografx Designer 7.1 crashes at exit
54 44563 Chessbase 11 has annoying multiple popups GetClassInfo: 14007
55 44845 Bankperfect plugin installater Echéancier hangs during install
56 44964 Anno 2205 needs oMask shader register implementation
57 44974 Cresteaju ("standard" version): Hang before title screen
58 45080 Frostpunk crashes (requires IDXGIDevice2)
59 45088 Native Instruments Traktor 2.11 crashes on unimplemented function msvcp140.dll.?GetCurrentThreadId@platform@details@Concurrency@@YAJXZ
60 45170 Cygwin/MSYS2 needs EXDEV error code mapped to STATUS_NOT_SAME_DEVICE (rename of cross-device links)
61 45172 FrameMaker 7.2 and Framemaker 8 (trial) needs implementation of atmlib.dll.ATMFinish
62 45174 Icinga 2 'check_ping' tool with IPv6 address/host crashes on unimplemented function ntdll.dll.RtlIpv6StringToAddressExW
63 45179 iTunes 12.x installer freezes at the final step
64 45220 Regression: Hearthstone-Deck-Tracker stoped working after wine-2.21
66 ----------------------------------------------------------------
71 winmm: Fix superfluous MOM_DONE callback messages.
72 po: Update Japanese translation.
73 winmm/tests: Add tests regarding MIDI stream player clocks and positions.
74 winmm: Protect MIDI stream info with critical section.
75 winmm: Add playing status to MIDI stream structure and use it.
78 ntdll: Add LdrRegisterDllNotification stub.
79 comctl32/listview: Don't invalidate when new style is same as old.
80 ntoskrnl: Add SeSinglePrivilegeCheck stub.
82 Alexandre Julliard (6):
83 winecfg: Constrain DPI values to the commonly supported ones.
84 user32: Store the window DPI awareness in the server.
85 user32: Update the window DPI awareness in SetParent().
86 user32: Store the window DPI in the server.
87 user32: Don't send cross-process message for GetWindowTextLength().
88 server: Removed unused visible rect from get_window_rectangles request.
90 Alistair Leslie-Hughes (6):
91 shell32: Choose return value for SHFileOperationA depending on windows version.
92 dsound: Use IDirectSoundBuffer8 to avoid unnecessary casts.
93 include: Add more WM interfaces.
94 include: Add IMFReadWriteClassFactory interface.
95 include: Add MmGetSystemRoutineAddress definition.
96 gdiplus: Display the GUID of the image type in GdipSaveImageToStream.
99 ntdll: Return success for TokenIntegrityLevel in NtSetInformationToken.
102 shell32: Check array index limit first.
105 po: Update Lithuanian translation.
108 wined3d: Recognize Titan V.
111 po: Update Czech translation.
113 Dmitry Timoshkov (22):
114 mstask/tests: Make task tests independent.
115 mstask: Implement ITask::SetFlags().
116 mstask/tests: Make task trigger tests independent.
117 mstask: ITaskTrigger::SetTrigger() should fail on NULL input.
118 mstask: ITaskTrigger::GetTrigger() should fail on NULL input.
119 mstask/tests: Add another set of tests for trigger management.
120 mstask: Move trigger management to the ITask implementation.
121 mstask: Prefer built-in implementation.
122 mstask: When writing triggers access the trigger data directly to avoid noise in the traces.
123 mstask: Implement ITask::GetExitCode().
124 kerberos: Silence a FIXME for the GSS_S_FAILURE case.
125 mstask: Implement ITask::GetNextRunTime() for ONCE trigger type.
126 mstask: Implement ITask::GetNextRunTime() for DAILY trigger type.
127 mstask: Handle disabled tasks in ITask::GetNextRunTime().
128 mstask: Add support for event triggers to ITask::GetNextRunTime().
129 mstask: Implement ITask::GetNextRunTime() for WEEKLY trigger type.
130 mstask: Avoid an infinite loop in ITask::GetNextRunTime() if weekly trigger runs every week.
131 kerberos: Add support for ISC_REQ_IDENTIFY flag.
132 kerberos: Translate GSS_C_DCE_STYLE to appropriate ISC_RET and ASC_RET flags.
133 kerberos: Add ISC_REQ_CONNECTION to the list of supported flags.
134 mstask: Keep the job file uuid across load/save operations.
135 gdiplus: Pass the correct GUID to encode_image_wic for GIF images.
138 makedep: Avoid building test resources if winetest is disabled.
141 msvcp: Add a trailing '\n' to a FIXME().
142 include: Add DOF_* definitions.
143 include: Add IO_REPARSE* definitions.
146 msi/tests: Break out of the loop if both components are found in test_MsiEnumComponentsEx.
147 winhttp: Ignore empty proxy strings read from the environment.
150 wined3d: Only create the ARBfp blitter if creating the GLSL blitter failed.
151 d3d11/tests: Rebind the pixel shader between runs with different sample counts in test_sampleinfo_instruction().
152 wined3d: Default to OpenGL 4.4 contexts.
155 regedit: Replace the COUNT_OF macro with ARRAY_SIZE.
156 regedit: Move regproc.c functions from regproc.h to main.h.
157 regedit: Move regedit.c functions from regproc.h to main.h.
158 regedit: Remove regproc.h.
159 regedit: Use the ARRAY_SIZE macro.
160 regedit: Simplify the detection of existing registry values.
161 regedit: Simplify boolean comparisons in edit.c.
162 regedit: Do not directly include stdio.h any longer.
163 regedit: Remove implicit extern keywords from function declarations.
164 regedit: Sort function declarations alphabetically by source file.
165 regedit: Do not directly include resource.h anymore.
167 Huw D. M. Davies (1):
168 user32: Simplify CheckMenuRadioItem().
171 jscript: Get rid of no longer used jsdisp_propput_const.
172 jscript: Use jsdisp_define_property for Error object properties.
173 jscript: Use jsdisp_define_data_property for arguments object properties.
174 jscript: Use jsdisp_define_property to set function prototypes.
175 jscript: Use jsdisp_define_property to set prototype constructors.
176 jscript: Added Object.defineProperties stub.
177 jscript: Added support for accessor properties in defineProperty.
178 jscript: Support accessor properties in getOwnPropertyDescriptor.
179 jscript: Support getting value of accessor property.
180 jscript: Move handling PROPF_WRITABLE to property type specific code.
181 jscript: Support setting accessor property value.
182 mshtml: Share the same structure for about and res protocols.
183 mshtml: Share more code between res and about protocol handlers.
184 mshtml: Properly support COM aggregation in about and res protocol handlers.
185 mshtml/tests: Added more COM aggregation tests.
186 mshtml.idl: Added IHTMLCSSStyleDeclaration declaration.
187 mshtml.idl: Added IHTMLWindow7 declaration.
188 mshtml: Added IHTMLWindow7 stub implementation.
189 mshtml: Implement supported IHTMLWindow7 event properties.
190 mshtml: Added IHTMLWindow7::innerWidth and innerHeight implementation.
191 mshtml: Expose IHTMLWindow7 interface to scripts.
192 urlmon/tests: Handle ERROR_INTERNET_INVALID_CA security problem in https tests.
193 urlmon/tests: Use the same thread for both connections in redirect tests.
194 urlmon: Ensure that inner protocol handler reference is released after other references.
195 urlmon/tests: Added more ref counting and aggregation tests.
196 itss: Support COM aggregation in its protocol handler.
197 ole32/tests: Pass host_object_data struct as an argument to start_host_object2.
198 ole32/tests: Add IRpcChannelBuffer and IRpcStubBuffer tests.
199 ole32: Introduce new ipid_to_ifstub helper and use it in ipid_get_dispatch_params.
200 ole32: Use queried interface destination context for marshaling RemQueryInterface result.
201 jscript: Added String.trim implementation.
204 riched20/tests: Free retext after use.
207 po: Update German translation.
210 wined3d: Fix memory leak in shader_glsl_init_transform_feedback().
211 wined3d: Implement sampleinfo instruction.
212 wined3d: Reject uploads for multisample textures.
213 wined3d: Add ARB_sample_shading extension.
214 wined3d: Implement sampleinfo for render targets.
215 d2d1/tests: Adjust expected value for linear brush test.
216 d3d11/tests: Add test for sampleinfo instruction.
217 d3d10core/tests: Add test for unbound multisample textures.
218 wined3d: Implement SV_SampleIndex.
219 d3d11: Add ID3D11Device2 stub.
220 d3d11/tests: Add test for sampleinfo with rasterizer register.
221 d3d11/tests: Correctly check for multisample support.
222 d3d10core/tests: Correctly check for multisample support.
223 wined3d: Implement oMask register.
224 wined3d: Get rid of MAX_MULTISAMPLE_TYPES.
225 d3d11/tests: Add test for sample shading.
226 wined3d: Allow creating swapchains for windows with empty client rect.
227 dxgi/tests: Add test for creating swapchains for windows with empty client rect.
228 winevulkan: Trace unsupported instance extensions.
229 wined3d: Remove redundant entries from "formats" table.
230 configure: Check for libvkd3d.
231 d3d12: Implement D3D12CreateRootSignatureDeserializer().
232 d3d12: Implement D3D12SerializeRootSignature().
233 d3d12: Implement D3D12CreateDevice().
234 d3d12: Print message about Vulkan configuration problem to winediag channel.
235 d3d12/tests: Add basic visual test.
238 winemac: Transform the process to a GUI app on an attempt to change the display mode.
239 winemac: Fix z-ordering between two child (owned) windows of the same parent (owner).
242 po: Update Norwegian translation.
245 po: Update Finnish translation.
248 include: Add IWMCodecInfo interfaces.
249 wmvcore: Add a fixme in WMProfileManager_QueryInterface if interface not found.
252 d3d11: Return 0 for the class instance count from the shader getters.
253 d2d1: Add ID2D1Device stub.
255 Marcos Gutierrez (1):
256 include: Fixed casts in some HANDLE_MSG_WM_* macros.
259 kernel32: Check for LOCALE_NOUSEROVERRIDE for neutral locales.
262 wined3d: Don't add pixel center offset twice.
263 wined3d: Skip match_broken_arb_fog() quirk check on core profile.
264 wined3d: Use core functions to set the stencil mask on GL 2.0+.
265 wined3d: Skip match_allows_spec_alpha() on core profile.
266 wined3d: Default to using a non-forward-compatible core profile context.
267 d3d11/tests: Add a test for output sampler mask.
268 wined3d: Map glMinSampleShadingARB() to glMinSampleShading().
269 wined3d: Implement YUV blits in the GLSL blitter.
272 ntdll: Add stub for RtlIpv6StringToAddressExW.
273 secur32: Set output buffer size to zero during handshake when no data needs to be sent.
274 version: Return ERROR_FILE_NOT_FOUND for Win 9x when a file was not found in GetFileVersionInfoSize.
275 ntdll: Return success for TokenSessionId in NtSetInformationToken.
276 dxdiagn: Add several more fields for DisplayDevices.
278 Michael Stefaniuc (4):
279 winecfg: Remove an ARRAY_SIZE()-like macro.
280 winecfg: Use the available ARRAY_SIZE() macro.
281 notepad: Use the available ARRAY_SIZE() macro.
282 include: Make ARRAY_SIZE() available in wine/test.h.
285 po: Update Simplified Chinese translation.
288 dxgi: Add IDXGIDevice2 stub.
289 d3d9: Implement setting the maximum frame latency.
290 d3d11: Partially implement d3d11_immediate_context_UpdateSubresource1().
291 gdiplus: Use ARRAY_SIZE() macro.
292 gdiplus: Partially implement arrow caps.
293 gdiplus: Implement unfilled mode for arrow caps.
294 gdiplus: Only draw filled arrows with positive height.
295 dxgi: Allow setting maximum frame latency parameter.
296 d2d1/tests: Add a simple test for creating d2d devices.
297 dwrite: Support IDWriteFontList1 for font families.
298 dwrite: Support IDWriteTextFormat2 for layout.
299 dwrite/tests: Use ARRAY_SIZE() macro in tests.
300 dwrite: Properly truncate face name to LOGFONT size.
301 dwrite/tests: Remove a test failing after recent update.
302 dwrite/tests: Skip some tests on variable fonts.
303 d2d1: Add ID2D1Bitmap1 stub.
304 include: Update with latest DirectWrite API additions.
307 d3d11: Partially implement d3d11_immediate_context_CopySubresourceRegion1().
308 d3d11/tests: Add test for CopySubresourceRegion1.
309 wined3d: Add unimplemented flags parameter to wined3d_device_copy_sub_resource_region.
310 d3d11: Make CopySubresourceRegion1 call wined3d_device_copy_sub_resource_region directly.
311 wined3d: Add unimplemented flags parameter to wined3d_device_update_sub_resource.
312 d3d11: Make UpdateSubresource1 call wined3d_device_update_sub_resource directly.
314 Sebastian Lackner (1):
315 shell32: Create Microsoft\Windows\Themes directory during prefix creation.
318 kernel32: Add SetProcessAffinityUpdateMode stub.
320 Zebediah Figura (41):
321 advapi32: Correctly translate SERVICE_REQUIRED_PRIVILEGES_INFO to RPC.
322 mp3dmod/tests: Add some tests for decoding.
323 mp3dmod: Return timestamp and length from ProcessOutput().
324 msi/tests: Add a header for some common functions.
325 msi/tests: Add the custom action DLL in create_database_wordcount().
326 d3d10core/tests: Add test for depth clip.
327 msi/tests: More accurately calculate estimated size.
328 kernel32: Check only the low word of CS when printing exceptions.
329 msi: Handle the remote case directly in MsiFormatRecordA().
330 msi: Avoid using awstring in MsiFormatRecordW().
331 msi: Handle the remote case directly in MsiGetPropertyA().
332 msi: Avoid using awstring in MsiGetPropertyA/W().
333 d3d11/tests: Add test for depth clip.
334 mp3dmod: Register DMO.
335 msi: Avoid leaking memory on failure paths in MsiGetPropertyA().
336 msi: Handle the remote case directly in MsiGetTargetPathA().
337 msi: Avoid using awstring in MsiGetTargetPathW().
338 msi: Handle the remote case directly in MsiGetSourcePathA().
339 msi: Avoid using awstring in MsiGetSourcePathW().
340 msi/tests: Test deferral of CreateFolders and RemoveFolders.
341 msi/tests: Test deferral of CreateShorcuts and RemoveShortcuts.
342 msi/tests: Test deferral of DeleteServices.
343 msi/tests: Test deferral of InstallServices.
344 msi/tests: Test deferral of StartServices and StopServices.
345 winedbg: Use gdb's default handling of breakpoints.
346 d3d11: Implement depth clip control.
347 vbscript: Add stub IActiveScriptDebug interface.
348 msi/tests: Avoid calling MsiSetTargetPath("TARGETDIR").
349 msi/tests: Test deferral of DuplicateFiles and RemoveDuplicateFiles.
350 msi/tests: Test deferral of InstallFiles and RemoveFiles.
351 odbccp32: Clean up SQLGetInstalledDrivers().
352 odbccp32/tests: Add tests for SQLGetInstalledDrivers().
353 msi/tests: Test installation of ODBC driver.
354 msi/tests: Test deferral of InstallODBC and RemoveODBC.
355 odbccp32: Avoid using RegQueryInfoKey() in SQLGetInstalledDrivers().
356 msi/tests: Test deferral of MoveFiles.
357 msi/tests: Test deferral of MsiPublishAssemblies and MsiUnpublishAssemblies.
358 msi/tests: Test deferral of ProcessComponents.
359 msi/tests: Test deferral of PublishComponents and UnpublishComponents.
360 msi/tests: Test deferral of PublishFeatures and UnpublishFeatures.
361 msi/tests: Test deferral of PublishProduct.
364 comctl32/taskdialog: Return TRUE when message is handled.
365 comctl32/taskdialog: Add support for TDN_HELP.
366 comctl32/taskdialog: Add support for TDF_CAN_BE_MINIMIZED.
367 comctl32/taskdialog: Move TASKDIALOGCONFIG pointer in struct taskdialog_info.
368 comctl32/taskdialog: Add support for TDF_NO_SET_FOREGROUND.
369 comctl32/taskdialog: Add support for TDF_RTL_LAYOUT.
370 comctl32/taskdialog: Add a helper to initialize dialog data.
371 comctl32/taskdialog: Add support for TDN_TIMER notification.
372 comctl32/taskdialog: Send TDN_CREATED before window gets visible.
373 comctl32/taskdialog: Use bold font for main instruction.