1 The Wine development release 8.19 is now available.
3 What's new in this release:
4 - Mono engine updated to version 8.1.0.
5 - More DirectMusic implementation.
8 The source is available at:
10 https://dl.winehq.org/wine/source/8.x/wine-8.19.tar.xz
12 Binary packages for various distributions will be available from:
14 https://www.winehq.org/download
16 You will find documentation on https://www.winehq.org/documentation
18 You can also get the current source directly from the git
19 repository. Check https://www.winehq.org/git for details.
21 Wine is available thanks to the work of many people. See the file
22 AUTHORS in the distribution for the complete list.
24 ----------------------------------------------------------------
26 Bugs fixed in 8.19 (total 44):
28 - #8174 Ares P2P 2.x embedded media player fails to play .mpg files
29 - #9027 No sound for rise of nations - all versions
30 - #23489 Buccaneer: quits silently when entering the Tavern
31 - #32395 Neverwinter Nights 2 : Broken sky with anti-aliasing turned on
32 - #32896 Serious Sam: The Random Encounter has no sound
33 - #34751 Aura: Fate of the Ages: sounds aren't played, but music works fine
34 - #43372 valgrind shows a definite leak in dlls/d3dx9_36/tests/texture.c
35 - #45072 Enabling csmt causes 100% CPU use in MikuMikuDance
36 - #45135 Black Rockman Shooter has no sound
37 - #45144 GED Keeper 2 (.NET 2.x based genealogical database app) fails to run with Wine-Mono
38 - #45893 Midtown Madness: Extremely Slow with csmt on
39 - #47767 Airport Mania First Flight - Very long loading times and awful performance
40 - #49731 Shtriga: Summer Camp freezes with a black screen (PE-build only)
41 - #49804 Multiple WPF 4.5+ .NET applications fail to run with Wine-Mono due to missing support of Ribbon control 'System.Windows.Controls.Ribbon' (OpenGL Extensions Viewer 6.1.2, CapFrameX v1.6.0)
42 - #52014 Memento Mori freezes on launch
43 - #52396 Stack overflows when running any 64-bit .Net 6 (.Net Core) program
44 - #53264 mmdevapi:capture - test_audioclient() fails systematically on Windows 10 1909+
45 - #54704 Black screen with Dungeon Keeper 2 and Wine v8.4
46 - #55223 d3dx10_34:d3dx10, d3dx10_35:d3dx10, d3dx10_39:d3dx10 & d3dx10_42:d3dx10 sometimes fail on w11pro64-amd
47 - #55228 kernel32:loader - test_ResolveDelayLoadedAPI() fails on Windows 10+
48 - #55267 gdi32:font - The 64-bit test_RealizationInfo() gets invalid parameter errors on Windows 8+
49 - #55269 ntdll:info - The 32-bit test_query_process_debug_port() gets a bad len on Windows 8 64-bit
50 - #55555 secur32:secur32 - test_ticket_cache() crashes when Kerberos support is missing
51 - #55560 The 64-bit dbghelp:dbghelp times out in Wine
52 - #55577 advapi32:registry - The 64-bit test_performance_keys() sometimes crashes on Windows 10
53 - #55580 The 32-bit uiautomationcore:uiautomation sometimes times out in Wine
54 - #55605 winmm:mci sometimes gets an assertion in GitLab CI's Wine tests
55 - #55650 dbghelp:dbghelp fails on macOS
56 - #55654 Multiple Direct3D 8/9 applications have increased memory usage / run out of memory since Wine 8.14
57 - #55688 dmusic:dmusic - test_default_gm_collection() crashes on macOS
58 - #55718 Word 2007 is not able to print multiple copies of a page
59 - #55720 msxml3:domdoc - test_domnode() fails in Wine
60 - #55722 dmime:dmime - test_band_track_play() fails on macOS
61 - #55725 The 32-bit amstream:amstream gets an assert and times out on the GitLab CI
62 - #55744 psapi:psapi_main fails in Wine
63 - #55745 tasklist.exe:tasklist - test_filter() fails to list ntdll.dll in Wine
64 - #55746 wscript.exe:run - Dispatch_Invoke() gets wrong WScript.FullName in Wine
65 - #55771 uxtheme:system - test_ShouldSystemUseDarkMode() fails on Windows 7 to 10 1909
66 - #55772 uxtheme:system - test_EnableThemeDialogTexture() fails on Windows 7
67 - #55777 user32:win - test_GetWindowModuleFileName() sometimes unexpectedly gets a filename on Windows 7
68 - #55790 Unreal II The Awakening: general protection fault when loading a level
69 - #55792 Tron 2.0 crashes before the menu appears
70 - #55808 Catalan translation inserted twice in wine.desktop
71 - #55817 Myst V (GOG.com, demo): access violation when NPC begins to talk
73 ----------------------------------------------------------------
78 cmd: Reset totals after trailer output.
81 evr: Use debugstr_fourcc instead of debugstr_an.
82 iccvid: Use debugstr_fourcc instead of debugstr_an.
83 d3d10: Use debugstr_fourcc instead of debugstr_an.
84 dwrite: Use the debugstr_fourcc function instead of reimplementing it.
85 d3dx9_36: Use debugstr_fourcc instead of debugstr_an.
86 d3dcompiler_43: Use debugstr_fourcc instead of debugstr_an.
87 loader: Associate Wine with batch files.
88 winemenubuilder: Disallow desktop integration for batch files.
89 loader: Translate wine.desktop to Catalan.
90 loader: Add separating dash to Spanish translation of wine.desktop.
91 win32u: Use debugstr_fourcc instead of debugstr_an.
92 wined3d: Use debugstr_fourcc instead of debugstr_an.
93 commdlg: Set lCustData the same in GetSaveFileName as GetOpenFileName.
95 Alexandre Julliard (20):
96 makefiles: Always use the global SOURCES variable for .man.in files.
97 makefiles: Always use the global SOURCES variable for .svg files.
98 makefiles: Always use the global SOURCES variable for .l files.
99 makefiles: Always use the global SOURCES variable for .y files.
100 ntdll: Move the relay trace on thread startup to LdrInitializeThunk().
101 ntdll: Move RtlUserThreadStart implementation to the CPU backends.
102 ntdll: Use .seh handler in RtlUserThreadStart on ARM64.
103 ntdll: Also send segment registers to the server on suspend.
104 zydis: Disable assertions.
105 dbghelp: Fix a compiler warning on ARM64.
106 Revert "loader: Translate wine.desktop to Catalan".
107 ntdll: Simplify platform checks for exception handling functions.
108 msvcrt: Simplify platform checks for exception handling functions.
109 msvcrt: Export more exception handling functions on ARM platforms.
110 kernel32: Export the Ums functions on ARM64.
111 kernelbase: Export the extended context functions on all platforms.
112 ntdll: Export RtlCopyMemory on ARM platforms.
113 vcruntime140_1: Only build for x86-64.
114 winebuild: Always use .balign for alignment.
115 shlwapi: Remove unneeded UNALIGNED attributes.
117 Alexandros Frantzis (2):
118 winewayland.drv: Ensure outputs can access xdg information robustly.
119 winewayland.drv: Ensure the logical output dimensions have sane values.
121 Alistair Leslie-Hughes (4):
122 msxml: Always increase error count when detected.
123 msxml3: Don't call qsort if we have no data (Coverity).
124 msxml3: Move tid_NULL out of possible enum values.
125 msxml3: Do not leak bind context on error paths (Coverity).
128 winex11.drv: Send missed KEYUP events on KeymapNotify.
130 Bartosz Kosiorek (4):
131 gdiplus: Optimize GDI32_GdipDrawPath (via prepare_dc function).
132 gdiplus: Improve performance of units_to_pixels by not using division.
133 gdiplus/tests: Add test for GdipIsOutlineVisiblePathPoint.
134 gdiplus: Fix transformation in GdipIsOutlineVisiblePathPoint.
137 configure: Only build Wayland if linux/input.h is present.
138 winemac.drv: Replace sprintf with snprintf to avoid deprecation warnings.
139 makedep: Replace sprintf with snprintf to avoid a deprecation warning on macOS.
140 ctapi32: Ensure unixlib function tables and enum stay in sync.
141 dnsapi: Ensure unixlib function tables and enum stay in sync.
142 wpcap: Ensure unixlib function tables and enum stay in sync.
143 winscard: Ensure unixlib function tables and enum stay in sync.
144 winemac.drv: Disable declaration-after-statement warnings in ObjC files.
145 winemac.drv: Fix minimizing windows when Stage Manager is enabled.
148 uiautomationcore: Release node lresult upon failure to allocate a node in uia_node_from_lresult().
149 uiautomationcore/tests: Add tests for COM API EVENT_OBJECT_FOCUS translation.
150 uiautomationcore: Potentially raise focus event for serverside providers in response to EVENT_OBJECT_FOCUS.
151 uiautomationcore: Potentially raise focus event on the currently focused serverside provider in response to EVENT_OBJECT_FOCUS.
152 uiautomationcore: Add support for translating EVENT_OBJECT_FOCUS for native MSAA IAccessibles.
153 uiautomationcore/tests: Add tests for cached value helper functions in the COM API.
154 uiautomationcore: Implement IUIAutomationElement::get_CachedControlType.
155 uiautomationcore: Implement IUIAutomationElement::get_CachedHasKeyboardFocus.
156 uiautomationcore: Implement IUIAutomationElement::get_CachedIsKeyboardFocusable.
157 uiautomationcore: Implement IUIAutomationElement::get_CachedName.
158 uiautomationcore: Implement IUIAutomationElement::get_CachedBoundingRectangle.
159 uiautomationcore: Remove accidentally leftover FIXME.
160 uiautomationcore: Only print FIXME messages for missing default clientside providers once.
161 uiautomationcore/tests: Fix test failure on Win10v1709.
162 uiautomationcore: Don't return failure from ::get_FragmentRoot stub on the default BaseHwnd provider.
165 advapi32/tests: Add ReadEventLogW tests for direction.
167 Dmitry Timoshkov (4):
168 crypt32: Avoid truncating unicode chars.
169 crypt32/tests: Add some tests for quoted RDN values.
170 crypt32: Add support for CERT_NAME_STR_NO_QUOTING_FLAG to CertNameToStr().
171 cryptui: Use CertNameToStr(CERT_NAME_STR_NO_QUOTING_FLAG) to disable quoting.
174 wbemprox: Use correct string id.
175 dsound: Forward error code when device cannot be found.
176 quartz: Return correct error when no audio devices are present.
177 mmdevapi: Don't fail when no audio backends are present.
178 dbghelp: Rename internal field (system -> host).
179 dbghelp: Use is_host_64bit for handling bitness of mach-o libs.
180 dbghelp: Set the machine type for mach-O modules.
181 dbghelp: Simplified module_find_by_addr().
182 dbghelp: Remove unneeded parameter to pe_map_file.
185 user32/tests: Reduce size demand in test_hvredraw.
186 mscoree: Update Wine Mono to 8.1.0.
189 mf/tests: Increase buffer to prevent stack corruption.
190 ntdll: Add WinSqmSetIfMaxDWORD stub.
192 Gabriel Ivăncescu (4):
193 jscript: Fix Array.map when last element doesn't exist.
194 jscript: Fix Array.reduce when last element doesn't exist.
195 mshtml: Set outer window to uninitialized page when document obj is released.
196 mshtml: Return proper errors when navigating with no browser.
199 readme: Update FreeBSD information.
202 kernelbase: Trace global memory counters in decimal.
203 advapi32/tests: Get rid of workarounds for old Windows versions.
204 advapi32/tests: Skip WoW64 registry tests on 32-bit.
207 uxtheme/tests: Skip the test if the SystemUsesLightTheme value isn't found.
210 dwrite: Use DWRITE_FONT_FEATURE_TAG for tags argument type in shape_get_typographic_features.
211 dwrite/tests: Avoid implicit DWRITE_RENDERING_MODE to DWRITE_RENDERING_MODE1 casts.
212 dwrite: Avoid implicit casts between DWRITE_RENDERING_MODE and DWRITE_RENDERING_MODE1.
213 d2d1/tests: Use D2D1_INTERPOLATION_MODE constants in DrawImage calls.
214 d2d1: Pass interpolation mode as D2D1_INTERPOLATION_MODE to d2d_device_context_draw_bitmap.
215 d2d1: Don't cast D2D1_THREADING_MODE to D2D1_FACTORY_TYPE in D2D1CreateDevice.
216 wined3d: Use return type to return result from read_dword.
217 wined3d: Remove unused parallel_point_count variable.
218 wined3d: Use unsigned type for res_type bit field.
221 gdiplus/tests: Add tests related to setting the page tranform.
222 gdiplus: Implement GdipResetPageTransform.
223 gdiplus: Fix a GdipSetPageScale return status.
224 gdiplus: Fix GdipSetPageUnit parameter validation.
227 ntdll/tests: Use win_skip() for missing APIs in test_query_process_debug_port_custom_dacl.
230 uxtheme: Add ShouldAppsUseDarkMode.
233 wined3d: Fix handling of system-memory GL vertex buffers.
234 wined3d: Handle NULL push constant buffers with the ARB shader backend.
235 wined3d: Allow FFP blits to non-render targets with the 'none' shader backend.
236 wined3d: Implement shadow sampling for the ARB shader backend.
237 wined3d: Don't skip setting clip planes if the view transform state is dirty.
240 windows.media.mediacontrol/tests: Remove flakey ref count test.
241 include: Add ISystemMediaTransportControlsDisplayUpdater interface definition.
242 windows.media.mediacontrol: Implement ISystemMediaTransportControls::get_DisplayUpdater().
243 windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsDisplayUpdater::get/put_Type() tests.
244 windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get/put_Type().
245 include: Add IMusicDisplayProperties interface definition.
246 windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get_MusicProperties().
247 windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Title() tests.
248 windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Title().
249 windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Artist() tests.
250 windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Artist().
251 include: Add IMusicDisplayProperties2 interface definition.
252 windows.media.mediacontrol: Add IMusicDisplayProperties2 stub interface.
253 windows.media.mediacontrol/tests: Add IMusicDisplayProperties2::get/put_AlbumTitle() tests.
254 windows.media.mediacontrol: Implement IMusicDisplayProperties2::get/put_AlbumTitle().
255 windows.media.mediacontrol: Return success in ISystemMediaTransportControlsDisplayUpdater::Update().
258 mfmediaengine/tests: Use a single helper to create engine instances.
259 include: Add IMFMediaEngineAudioEndpointId definition.
260 mfmediaengine: Keep engine extension pointer.
261 mfmediaengine: Use extension object in CanPlayType().
262 maintainers: Add EVR to the Media Foundation section.
263 mfmediaengine: Mask some source flags returned from GetResourceCharacteristics().
264 d3d10_1/tests: Add some more tests for fx_4_1 blend states.
267 ntdll: Use .seh handler instead of __TRY in RtlUserThreadStart() on x64.
268 ntdll: Set EH_NESTED_CALL flag in call_stack_handlers() on x64.
269 ntdll: Use .seh handler in call_handler() on x64.
270 ntdll/tests: Add test for collided unwind.
271 ntdll: Use .seh handler in call_unwind_handler() on x64.
272 winegstreamer: Add AVDecVideoAcceleration_H264 attribute for h264 decoder MFT.
273 ntdll: Define heap block's BLOCK_FLAG_LFH as 0x80.
274 shell32: Use SearchPathW() for %l/%L in SHELL_ArgifyW().
277 gdi32: Fix leak in GdiDeleteSpoolFileHandle.
280 include: Fix debugstr_fourcc printf format to print at most 4 chars.
281 dmime: Rewrite message thread with a condition variable.
282 dmusic: Set synth sink master clock when creating port.
283 dmsynth: Do nothing in IDirectMusicSynth_SetMasterClock.
284 dmusic: Forward IDirectMusicPort_Activate to synth and sink.
285 dmime: Use port latency time for messages with -1 time.
286 dmime: Update performance latency time with port latency.
287 dmime: Use latency time to decide when to process messages.
288 dmsynth: Create a render thread on sink activation.
289 dmsynth: Implement sink rendering to DirectSound buffer.
290 dmsynth: Correctly lookup instrument from the default drum bank.
291 dmsynth: Avoid using fluid_ prefix for internal helpers.
292 dmsynth: Fix DLS2 to FluidSynth conversion for CONN_SRC_CCx.
293 dmsynth: Fix FluidSynth generators for direct connections.
294 dmsynth: Convert modulator values from DLS2 to SF2 convention.
295 dmsynth: Set default modulators according to the DLS2 spec.
296 dmband: Download segment tracks if performance auto-download is set.
297 dmband: Set DMUS_PATCH_PMSG bank LSB/MSB from instrument patch.
298 dmime: Only use index if group is set in IDirectMusicSegment_SetParam.
299 dmime: Don't interrupt track iteration if SetParam failed.
300 dmime: Adjust MIDI message time with DMUS_NOTE_PMSG nOffset.
301 dmusic: Use a dmusic_midi.h header for MIDI messages.
302 dmime: Translate some DMUS_CURVE_PMSG messages to MIDI.
303 dmime: Remove FIXME from methods now mostly implemented.
304 dmime: Avoid crashing when purging notification messages.
305 dmime: Return S_OK from wave track SetParam GUID_UnloadFromAudioPath.
306 dmime: Return hr from wave track SetParam GUID_DownloadToAudioPath.
307 dmusic: Implement IDirectMusicObject interface on wave objects.
308 dmusic: Use the IDirectMusicObject interface for waves.
309 dswave: Use the dmusic wave object implementation.
310 dmime: Avoid releasing the newly created graph twice.
311 dmime/tests: Remove flaky track playing state test.
312 dmime/tests: Avoid checking message segment state reference count.
313 dmime/tests: Ignore failure on missing gm.dls in test_band_track_play.
314 dmusic/tests: Skip test_default_gm_collection if gm.dls is missing.
315 dmsynth: Set loop and sample generators on the fluid_voice.
316 dmime: Force recompute MIDI message reference time.
317 dmband: Skip band / band track chunk on parsing failure.
318 dmime: Skip sequence track chunk on parsing failure.
319 dmime: Skip segment chunk on parsing failure (or success).
320 dmime: Ignore badly formed wave if format and data have been found.
321 dmime: Remove shadowing local hr variable.
322 dmusic: Ignore some known wave chunks.
323 gitlab: Run tests with LP_NUM_THREADS=4 env var.
324 mf/tests: Avoid crashing if MF_BYTESTREAM_EFFECTIVE_URL is missing.
325 dmime: Pass IDirectMusicPerformance8 to segment state functions.
326 dmime: Pass PlaySegmentEx start time as track time offset.
327 dmband: Use time_offset to align track start with music time.
328 dmime: Use time_offset to align track start with music time.
329 dmime: Use an internal performance message for segment end.
330 dmstyle: Rename IDirectMusicStyle8Impl method prefix to style.
331 dmstyle: Get rid of the IDirectMusicStyle8Impl typedef.
332 dmstyle: Rewrite style part list parsing.
333 dmstyle: Rewrite style pref chunk parsing.
334 dmstyle: Rename style_motif to style_pattern.
335 dmstyle: Rewrite style pttn list parsing.
338 wined3d: Don't override the default renderer in wined3d_dll_init().
339 nsiproxy.sys: Return STATUS_SUCCESS from ipv6_forward_enumerate_all() on non-Linux.
342 mfmediaengine: Don't send event notify when engine is shutdown.
344 Zebediah Figura (18):
345 advapi32: GetNamedSecurityInfo() takes a const name argument.
346 advapi32/tests: Use StringFromGUID2().
347 advapi32: Fix rewinding the last path segment in SetSecurityInfo().
348 advapi32/tests: Add more tests for GetSecurityInfo().
349 advapi32: Respect object type in GetSecurityInfo().
350 advapi32: Respect object type in SetSecurityInfo().
351 user32/tests: Add basic tests for GetUserObjectSecurity().
352 advapi32: Implement GetSecurityInfo(SE_WINDOW_OBJECT).
353 wined3d: Rename buffer dirty ranges fields.
354 wined3d: Use wined3d_array_reserve() to pre-allocate the buffer dirty ranges array.
355 wined3d: Do not track dirty ranges for buffers without WINED3D_BUFFER_USE_BO.
356 d3d10core/tests: Avoid POINT sampling exactly halfway between two mip levels.
357 d3d11/tests: Avoid POINT sampling exactly halfway between two mip levels.
358 include: Convert d3d10shader.h to an IDL.
359 include: Convert d3d10effect.h to an IDL.
360 ntdll: Do not reject data directories at the end of a file.
361 ws2_32/tests: Make sure that WSARecv() completes synchronously in test_WSARecv().
362 ws2_32/tests: Wait for AFD_POLL_RESET in test_get_events_reset().