1 The Wine development release 4.11 is now available.
3 What's new in this release (see below for details):
4 - Updated version of the Mono engine, including Windows.Forms.
5 - More DLLs are built as PE files by default.
6 - Faster implementation of Slim Reader/Writer locks on Linux.
7 - Initial support for enumerating display devices.
10 The source is available from the following locations:
12 https://dl.winehq.org/wine/source/4.x/wine-4.11.tar.xz
13 http://mirrors.ibiblio.org/wine/source/4.x/wine-4.11.tar.xz
15 Binary packages for various distributions will be available from:
17 https://www.winehq.org/download
19 You will find documentation on https://www.winehq.org/documentation
21 You can also get the current source directly from the git
22 repository. Check https://www.winehq.org/git for details.
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
27 ----------------------------------------------------------------
29 Bugs fixed in 4.11 (total 17):
31 8848 SWAT4 Areas that should be in shadow and people are rendered solid black
32 22253 Horizontal scrolling with the mouse wheel does not work in list views
33 24211 ispq crashes on 'create account' with devenum enabled and without native qcap
34 28153 AutoIt v3.x @DesktopRefresh macro returns 0 (device caps VREFRESH hard-coded to 0)
35 30822 Max Payne 3 not running
36 34687 Port Royale 2 crashes on startup (SymGetLineFromAddr() returns unix-style path for source file)
37 34741 Catzilla 1.0 doesn't work: EAccess violation
38 34742 Catzilla 1.0 doesn't allow to use any display resolutions other than 576p
39 35477 'epsilon' 64K demo/intro by mercury crashes on start up
40 39071 7-Zip 15.06 looks broken after being minimized
41 39337 Legacy of Kain: Soul Reaver crashes at intro video when being run in desktop resolution > 640x480
42 45218 Fallout 4 Script Extender fails to allocate trampoline buffers
43 47164 .NET Framework 4.0 installer fails when Wine is compiled with GCC 9.1.1
44 47167 Chromium Embedded Framework (CEF) applications display no content when wine is compiled with gcc-9
45 47327 Japanese texts are overlapped in notepad when using bitmap font.
46 47371 Nero CoverDesigner doesn't install - missing support for BCRYPT_RSA_SIGN_ALGORITHM
47 47378 ole32: native build (without-mingw) is broken
49 ----------------------------------------------------------------
54 usp10: Cache ScriptString_pSize value, again.
55 usp10/tests: Add advance width tests with CJK bitmap font.
56 usp10: Fix advance width when glyph is missing.
58 Alexandre Julliard (168):
59 mf: Build with msvcrt.
60 mfplat: Build with msvcrt.
61 mfplay: Build with msvcrt.
62 mfreadwrite: Build with msvcrt.
63 mgmtapi: Build with msvcrt.
64 midimap: Build with msvcrt.
65 mlang: Build with msvcrt.
66 mmcndmgr: Build with msvcrt.
67 mmdevapi: Build with msvcrt.
68 mmdevldr.vxd: Build with msvcrt.
69 mmsystem: Build with msvcrt.
70 monodebg.vxd: Build with msvcrt.
71 mouse.drv: Build with msvcrt.
72 mpr: Build with msvcrt.
73 mprapi: Build with msvcrt.
74 ntdll: Don't use native subsystem heuristic against builtin modules.
75 fltmgr.sys: Fix duplicate dll flags.
76 ksecdd.sys: Fix duplicate dll flags.
77 msacm: Build with msvcrt.
78 msacm32.drv: Build with msvcrt.
79 msacm32: Build with msvcrt.
80 msadp32.acm: Build with msvcrt.
81 msasn1: Build with msvcrt.
82 mscat32: Build with msvcrt.
83 msctf: Build with msvcrt.
84 msctfp: Build with msvcrt.
85 msdaps: Build with msvcrt.
86 msdelta: Build with msvcrt.
87 msdmo: Build with msvcrt.
88 msdrm: Build with msvcrt.
89 msftedit: Build with msvcrt.
90 msg711.acm: Build with msvcrt.
91 ntdll: Make the __wine_spec_unimplemented_stub() copy cdecl.
92 imagehlp/tests: Remove a workaround for Win95.
93 mshtml: Build with msvcrt.
94 msi: Build with msvcrt.
95 msident: Build with msvcrt.
96 msimg32: Build with msvcrt.
97 msimtf: Build with msvcrt.
98 msisip: Build with msvcrt.
99 msisys.ocx: Build with msvcrt.
100 msls31: Build with msvcrt.
101 msnet32: Build with msvcrt.
102 mspatcha: Build with msvcrt.
103 msports: Build with msvcrt.
104 msrle32: Build with msvcrt.
105 msscript.ocx: Build with msvcrt.
106 mssign32: Build with msvcrt.
107 mssip32: Build with msvcrt.
108 mstask: Build with msvcrt.
109 jscript: Consistently use wcscmp() instead of lstrcmpW().
110 server: Fix the returned error code for an invalid NT header offset.
111 msvcp90: Avoid depending on config.h for the __builtin_clz check.
112 msvcm: Build with msvcrt.
113 msvfw32: Build with msvcrt.
114 msvidc32: Build with msvcrt.
115 msvideo: Build with msvcrt.
116 mswsock: Build with msvcrt.
117 msxml: Build with msvcrt.
118 msxml2: Build with msvcrt.
119 msxml4: Build with msvcrt.
120 msxml6: Build with msvcrt.
121 mtxdm: Build with msvcrt.
122 ncrypt: Build with msvcrt.
123 nddeapi: Build with msvcrt.
124 ndis.sys: Build with msvcrt.
125 netcfgx: Build with msvcrt.
126 netprofm: Build with msvcrt.
127 newdev: Build with msvcrt.
128 winebuild: Add a -munix option.
129 winebuild: Don't import standard C functions in Unix mode.
130 ntoskrnl: Make the standard C functions available for importing.
131 ninput: Build with msvcrt.
132 normaliz: Build with msvcrt.
133 npmshtml: Build with msvcrt.
134 npptools: Build with msvcrt.
135 ntdsapi: Build with msvcrt.
136 ntoskrnl: Build with msvcrt.
137 ntprint: Build with msvcrt.
138 objsel: Build with msvcrt.
139 odbccp32: Build with msvcrt.
140 ole2: Build with msvcrt.
141 ole2disp: Build with msvcrt.
142 ole2nls: Build with msvcrt.
143 ole32: Build with msvcrt.
144 oleacc: Build with msvcrt.
145 oleaut32: Build with msvcrt.
146 olecli: Build with msvcrt.
147 olecli32: Build with msvcrt.
148 oledb32: Build with msvcrt.
149 oledlg: Build with msvcrt.
150 olepro32: Build with msvcrt.
151 olesvr: Build with msvcrt.
152 olesvr32: Build with msvcrt.
153 olethk32: Build with msvcrt.
154 packager: Build with msvcrt.
155 pdh: Build with msvcrt.
156 photometadatahandler: Build with msvcrt.
157 pidgen: Build with msvcrt.
158 powrprof: Build with msvcrt.
159 printui: Build with msvcrt.
160 prntvpt: Build with msvcrt.
161 propsys: Build with msvcrt.
162 pstorec: Build with msvcrt.
163 makefiles: Support mixing Unix and msvcrt headers in a single module.
164 winecrt0: Build with msvcrt.
165 winecrt0: Provide our own setjmp/longjmp functions for exception handling.
166 ntdll: Make wine_server_call() cdecl.
167 ntdll: Make the standard C functions available for importing.
168 kernelbase: Build with msvcrt.
169 qmgr: Build with msvcrt.
170 qmgrprxy: Build with msvcrt.
171 query: Build with msvcrt.
172 qwave: Build with msvcrt.
173 rasapi32: Build with msvcrt.
174 rasdlg: Build with msvcrt.
175 regapi: Build with msvcrt.
176 resutils: Build with msvcrt.
177 riched20: Build with msvcrt.
178 riched32: Build with msvcrt.
179 rpcrt4: Build with msvcrt.
180 rsaenh: Build with msvcrt.
181 rstrtmgr: Build with msvcrt.
182 rtutils: Build with msvcrt.
183 ntdll: Use .so builtin if found instead of falling back to the installed PE file.
184 kernelbase: Revert some incorrect differences with shlwapi.
185 samlib: Build with msvcrt.
186 sapi: Build with msvcrt.
187 sas: Build with msvcrt.
188 scarddlg: Build with msvcrt.
189 sccbase: Build with msvcrt.
190 schannel: Build with msvcrt.
191 schedsvc: Build with msvcrt.
192 scrobj: Build with msvcrt.
193 scrrun: Build with msvcrt.
194 scsiport: Build with msvcrt.
195 sensapi: Build with msvcrt.
196 serialui: Build with msvcrt.
197 setupx: Build with msvcrt.
198 sfc: Build with msvcrt.
199 sfc_os: Build with msvcrt.
200 shcore: Build with msvcrt.
201 shdocvw: Build with msvcrt.
202 shell: Build with msvcrt.
203 shlwapi: Import string functions from kernelbase.
204 shlwapi: Import path functions from kernelbase.
205 shlwapi: Import URL functions from kernelbase.
206 shlwapi: Import registry functions from kernelbase.
207 shlwapi: Import QISearch() from kernelbase.
208 shlwapi: Build with msvcrt.
209 slbcsp: Build with msvcrt.
210 slc: Build with msvcrt.
211 snmpapi: Build with msvcrt.
212 sound.drv: Build with msvcrt.
213 spoolss: Build with msvcrt.
214 srclient: Build with msvcrt.
215 sspicli: Build with msvcrt.
216 sti: Build with msvcrt.
217 storage: Build with msvcrt.
218 stress: Build with msvcrt.
219 strmdll: Build with msvcrt.
220 svrapi: Build with msvcrt.
221 sxs: Build with msvcrt.
222 system.drv: Build with msvcrt.
223 api-ms-win-core-kernel32-legacy-l1-1-1: Use proper forwards.
224 winebuild: Add -import entry point flag to generate hotpatchable import thunks.
225 shlwapi: Add -import flag on functions imported from kernelbase.
226 version: Move implementation into kernelbase.
228 Alistair Leslie-Hughes (7):
229 dpnet: Remove dead code (Coverity).
230 dinput: Ensure buffer doesn't overflow (Coverity).
231 wininet: Remove unsued flag HTTP_ADDHDR_FLAG_COALESCE.
232 advapi32: Don't read a value that might be uninitialized (Coverity).
233 mshtml: Remove redundant assignments.
234 dbghelp: Return a dos path from SymGetLineFromAddr.
235 mshtml: Implement IHTMLDocument2 put/get_bgColor.
238 winebus.sys: Close SDL handles when a device is removed.
239 kernel32: Link against RT_LIBS.
240 dxgi/tests: Add tests for setting the fullscreen state of swapchains with destroyed windows.
241 dxgi: Return DXGI_ERROR_NOT_CURRENTLY_AVAILABLE if setting the fullscreen state failed.
242 wined3d: Validate that we got a valid window in wined3d_device_setup_fullscreen_window().
245 winemac.drv: Send state change notifications from ImeSelect.
247 Dmitry Timoshkov (5):
249 mshtml: Add better stub for HTMLDocument7::get_onmsthumbnailclick.
250 mshtml: Add recently added GUIDs to debugstr_mshtml_guid().
251 mshtml: Replace a useless trace with a slightly better one.
252 mshtml: Add support for DIID_HTMLDocumentEvents2 connection point sink.
255 xaudio2: Fix some TRACE calls erroneously marked as stubs.
257 Gabriel Ivăncescu (7):
258 comctl32/listbox: Fix mouse wheel scrolling for multi-column listboxes.
259 user32/listbox: Fix mouse wheel scrolling for multi-column listboxes.
260 comctl32/edit: Get rid of useless casts.
261 user32/edit: Get rid of useless casts.
262 comctl32/listview: Get rid of useless casts.
263 comctl32/treeview: Get rid of useless casts.
264 ntdll: Add support for EXT4 per directory case folding.
267 bcrypt: Add stub implementations of BCryptEnumContextFunctions and BCryptFreeBuffer.
268 bcrypt: Add support for BCRYPT_RSA_SIGN_ALGORITHM.
269 msi/tests: Accept case variations for path properties.
272 wined3d: Pass a wined3d_context_gl structure to context_enable_clip_distances().
273 wined3d: Pass a wined3d_context_gl structure to context_end_transform_feedback().
274 wined3d: Pass a wined3d_context_gl structure to context_map_bo_address().
275 wined3d: Pass a wined3d_context_gl structure to context_unload_tex_coords().
276 wined3d: Upload texture data through the texture ops in wined3d_cs_exec_update_sub_resource().
277 wined3d: Pass a wined3d_context_gl structure to context_unmap_bo_address().
278 wined3d: Pass a wined3d_context_gl structure to wined3d_texture_prepare_texture().
279 wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_apply_sampler_desc().
280 wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_bind().
281 wined3d: Upload texture data through the texture ops in surface_convert_format().
282 wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_set_compatible_renderbuffer().
283 wined3d: Pass a wined3d_context_gl structure to wined3d_sampler_bind().
284 wined3d: Pass a wined3d_context_gl structure to context_attach_gl_texture_fbo().
285 wined3d: Get rid of the unused "gl_info" argument to compute_texture_matrix().
286 wined3d: Upload texture data through the texture ops in wined3d_texture_upload_from_texture().
287 wined3d: Pass a wined3d_context_gl structure to context_attach_depth_stencil_fbo().
288 wined3d: Pass a wined3d_context_gl structure to context_attach_surface_fbo().
289 wined3d: Pass a wined3d_context_gl structure to context_set_fbo_key_for_render_target().
290 wined3d: Pass a wined3d_context_gl structure to context_generate_fbo_key().
291 wined3d: Download texture data through the texture ops in wined3d_texture_download_from_texture().
292 wined3d: Pass a wined3d_context_gl structure to context_create_fbo_entry().
293 wined3d: Pass a wined3d_context_gl structure to context_apply_draw_buffers().
294 wined3d: Pass a wined3d_context_gl structure to context_set_render_offscreen().
295 wined3d: Pass a wined3d_context_gl structure to context_apply_blit_projection().
296 wined3d: Use texture2d_load_sysmem() in texture1d_load_location().
297 wined3d: Pass a wined3d_context_gl structure to context_bind_unordered_access_views().
298 wined3d: Pass a wined3d_context_gl structure to context_pause_transform_feedback().
299 wined3d: Pass a wined3d_context_gl structure to context_setup_target().
300 wined3d: Pass a wined3d_context_gl structure to draw_primitive_arrays().
301 wined3d: Use wined3d_texture_gl_load_sysmem() in texture3d_load_location().
302 wined3d: Pass a wined3d_context_gl structure to draw_indirect().
303 wined3d: Pass a wined3d_context_gl structure to context_unload_vertex_data().
304 wined3d: Pass a wined3d_context_gl structure to context_load_vertex_data().
305 wined3d: Pass a wined3d_context_gl structure to context_unload_numbered_array().
306 wined3d: Use texture2d_load_texture() in texture1d_load_location().
307 wined3d: Do not acquire/release the focus window in wined3d_swapchain_set_fullscreen().
308 wined3d: Pass a wined3d_context_gl structure to context_unload_numbered_arrays().
309 wined3d: Pass a wined3d_context_gl structure to context_draw_shaded_quad().
310 wined3d: Pass a wined3d_context_gl structure to context_draw_textured_quad().
311 wined3d: Pass a wined3d_context_gl structure to destroy_dummy_textures().
312 wined3d: Use wined3d_texture_gl_load_texture() in texture3d_load_location().
313 d3drm: Introduce a d3drm_matrix structure.
314 wined3d: Pass a wined3d_context_gl structure to shader_arb_ps_local_constants().
315 wined3d: Pass a wined3d_context_gl structure to shader_arb_vs_local_constants().
316 wined3d: Pass a wined3d_context_gl structure to shader_arb_load_constants_internal().
317 wined3d: Pass a wined3d_context_gl structure to find_arb_pshader().
318 wined3d: Merge the wined3d_texture_gl texture ops implementations.
320 Huw D. M. Davies (2):
321 kernel32/tests: Add a test for GetTickCount().
322 user32: Don't access a potentially uninitialized padded_border.
325 services: Support delayed autostart services.
328 wininet: Silence no support on this platform message.
331 d3drm: Implement the BEFORE and AFTER frame transform combine types.
332 d3drm: Validate that the transformation is affine in d3drm_frame3_AddTransform().
333 d3drm: Implement d3drm_frame3_AddTranslation().
334 d3drm: Implement d3drm_frame3_AddScale().
335 d3drm: Implement d3drm_frame3_AddRotation().
336 d3drm: Implement d3drm_frame3_Transform().
339 include: Avoid compound literals for WCHAR strings.
342 ddraw: Properly set DDCAPS.ddsOldCaps in ddraw7_GetCaps().
344 Michael Stefaniuc (1):
345 winebuild: Use the now available ARRAY_SIZE() macro.
348 mfplat: Add MFRegisterLocalByteStreamHandler().
349 mfplat: Give priority to local scheme handlers.
350 mfplat: Give priority to local bytestream handlers.
351 mf: Add support for IMFSampleGrabberSinkCallback2.
352 mf: Forward grabber clock state change calls to user callback.
353 mf/tests: Add sample processing tests for Video Processor.
356 ddraw: Factor out viewport_alloc_active_light_index() function.
357 ddraw: Do not limit inactive light count in viewport.
358 ddraw: Always activate the light when requested replacing some previous light.
359 ddraw/tests: Test adding a number of lights to viewport in ddraw4.
360 ddraw: Increase maximum active light count.
361 wined3d: Use 3 component norm for 'nrm' opcode in GLSL backend.
362 wined3d: Do not zero 'w' with zero norm for 'nrm' opcode in GLSL backend.
363 d3d9/tests: Add test for 'nrm' opcode.
364 ddraw: Store _TEXTUREMAPBLEND state instead of guessing it from wined3d states.
365 ddraw: Turn off legacy texture blending in d3d_device3_SetTextureStageState().
366 ddraw: Do not modify any states for _TEXTUREMAPBLEND if application sets the same value.
369 libwine: Fix NORM_IGNORESYMBOLS flag handling in compare_weights.
371 Richard Pospesel (1):
372 widl: Use FC_CHAR rather than FC_BYTE for boolean typedef to match midl.exe output.
374 Roberto Pungartnik (2):
375 po: Update Brazilian Portuguese translation.
376 po: Update Brazilian Portuguese translation.
379 ntdll/tests: Move NtAllocateVirtualMemory tests that were in kernel32.
380 ntdll/tests: Add NtAllocateVirtualMemory tests for zero_bits behavior.
381 ntdll: Clarify NtAllocateVirtualMemory zero_bits parameter semantics.
382 ntdll/tests: Cleanup NtAllocateVirtualMemory related tests.
383 kernel32/tests: Fix some NtMapViewOfSection tests expectations, and add results for w1064v1809.
384 ntdll/tests: Move NtMapViewOfSection tests from kernel32/tests.
385 ntdll/tests: Add more NtMapViewOfSection tests with zero_bits.
386 ntdll: Clarify NtMapViewOfSection zero_bits parameter semantics.
387 ntdll: Pass the alignment parameter down to map_view instead of mask.
388 hid: Fill the HIDD_ATTRIBUTES Size member, and add a test for expected size.
391 wininet: Hide GetCookie flag fixme for HTTPONLY cookies.
394 mscoree: Update Wine Mono to 4.9.0.
396 Zebediah Figura (66):
397 ucrtbase/tests: Add some tests for __stdio_common_vsscanf().
398 ucrtbase: Write the %hh prefix as a single char.
399 ntdll: Remove no longer used interlocked_dec_if_nonzero().
400 ntdll: Add a futex-based implementation of SRW locks.
401 ntdll: Try to avoid an unnecessary syscall in fast_release_srw_exclusive().
402 qedit/samplegrabber: Use BaseFilterImpl_QueryVendorInfo().
403 quartz/filtergraph: Use the type info cache for IBasicAudio.
404 quartz/filtergraph: Use the type info cache for IVideoWindow.
405 quartz/filtergraph: Use the type info cache for IBasicVideo.
406 strmbase: Don't increment the pin reference count in filter_get_pin().
407 strmbase: Add default implementations of IUnknown methods for IBasicVideo.
408 quartz: Use strmbase IUnknown methods for IBasicVideo.
409 strmbase: Get rid of the "lpVtbl" parameter to BaseControlVideo_Init().
410 strmbase: Add default implementations of IUnknown methods for IVideoWindow.
411 quartz: Use strmbase IUnknown methods for IVideoWindow.
412 strmbase: Factor out strmbase_pin_init().
413 strmbase: Return void from InputPin_Init().
414 strmbase: Factor out strmbase_sink_cleanup().
415 qcap/avico: Store the sink pin inline in the AviCompressor structure.
416 qcap/smartteefilter: Store the sink pin inline in the AviCompressor structure.
417 widl: Mark unions, user types, and ranges as IsSimpleRef.
418 widl: Remove the unused "indent" parameter from write_type_tfs().
419 qcap/avimux: Use strmbase_sink_init() and heap_alloc_zero() in create_input_pin().
420 strmbase: Return void from OutputPin_Init().
421 strmbase: Factor out strmbase_source_cleanup().
422 qcap/avico: Store the source pin inline in the AviCompressor structure.
423 qcap/smartteefilter: Store the capture source pin inline in the SmartTeeFilter structure.
424 qcap/smartteefilter: Store the preview source pin inline in the SmartTeeFilter structure.
425 dmusic/tests: Add some tests for the master clock.
426 dmusic: Store the master clock as an IReferenceClock pointer.
427 dmusic: Implement the master clock object.
428 qcap/avimux: Store the source pin and AVI data inline in the AviMux structure.
429 quartz/filesource: Share pin and filter reference counts.
430 quartz/parser: Share sink pin and filter reference counts.
431 quartz/parser: Share source pin and filter reference counts.
432 strmbase/transform: Share pin and filter reference counts.
433 ntdll: Implement RtlCreateUserStack() and RtlFreeUserStack().
434 kernel32: Use RtlCreateUserStack().
435 ntdll/tests: Add tests for RtlCreateUserStack().
436 strmbase/renderer: Share pin and filter reference counts.
437 qcap/vfwcapture: Share pin and filter reference counts.
438 winegstreamer: Share sink pin and filter reference counts.
439 winegstreamer: Share source pin and filter reference counts.
440 wineqtdecoder: Share sink pin and filter reference counts.
441 winex11: Remove redundant calls to update_key_state().
442 winex11: Update the state of all keys on KeymapNotify.
443 wineqtdecoder/qtsplitter: Share source pin and filter reference counts.
444 strmbase: Share pin and filter reference counts in base pin reference counting methods.
445 strmbase: Use base pin reference counting methods.
446 quartz: Use strmbase pin reference counting methods.
447 qcap: Use strmbase pin reference counting methods.
448 winegstreamer: Use strmbase pin reference counting methods.
449 wineqtdecoder: Use strmbase pin reference counting methods.
450 quartz/filesource: Store the source pin inline in the AsyncReader structure.
451 quartz/filesource: Cancel I/O from all threads in IAsyncReader::BeginFlush().
452 quartz/filesource: Add a test for cross-thread asynchronous read requests.
453 quartz/systemclock: Create the advise thread after the events it depends on.
454 strmbase/transform: Store the pins inline in the TransformFilter structure.
455 strmbase/renderer: Remove some duplicated locks.
456 strmbase/renderer: Store the sink pin inline in the BaseRenderer structure.
457 quartz/filtergraph: Add tests for asynchronous state change.
458 d3d11/tests: Test creating and rendering to a swapchain on the desktop window.
459 d3d10core/tests: Test creating and rendering to a swapchain on the desktop window.
460 d3d9/tests: Test creating and rendering to a swapchain on the desktop window.
461 d3d8/tests: Test creating and rendering to a swapchain on the desktop window.
462 wined3d: Use a backup device context for swapchains created on the desktop window.
465 winex11.drv: Add Xinerama display device handler.
466 winex11.drv: Initialize GPU registry data.
467 winex11.drv: Initialize adapter registry data.
468 winex11.drv: Initialize monitor registry data.
469 winex11.drv: Handle display device changes.
470 user32: Improve EnumDisplayDevicesW stub.
471 user32: Implement EnumDisplayDevicesW().
472 dxgi/tests: Add window association tests.
473 dxgi: Implement dxgi_factory_GetWindowAssociation().
474 dxgi: Retrieve swapchains' fullscreen state from wined3d.
475 dxgi: Implement Alt+Enter handling.