Wine release 8.19
The Wine development release 8.19 is now available.
What's new in this release:
- Mono engine updated to version 8.1.0.
- More DirectMusic implementation.
- Various bug fixes.The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.19.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.19 (total 44):
- #8174 Ares P2P 2.x embedded media player fails to play .mpg files
- #9027 No sound for rise of nations - all versions
- #23489 Buccaneer: quits silently when entering the Tavern
- #32395 Neverwinter Nights 2 : Broken sky with anti-aliasing turned on
- #32896 Serious Sam: The Random Encounter has no sound
- #34751 Aura: Fate of the Ages: sounds aren't played, but music works fine
- #43372 valgrind shows a definite leak in dlls/d3dx9_36/tests/texture.c
- #45072 Enabling csmt causes 100% CPU use in MikuMikuDance
- #45135 Black Rockman Shooter has no sound
- #45144 GED Keeper 2 (.NET 2.x based genealogical database app) fails to run with Wine-Mono
- #45893 Midtown Madness: Extremely Slow with csmt on
- #47767 Airport Mania First Flight - Very long loading times and awful performance
- #49731 Shtriga: Summer Camp freezes with a black screen (PE-build only)
- #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)
- #52014 Memento Mori freezes on launch
- #52396 Stack overflows when running any 64-bit .Net 6 (.Net Core) program
- #53264 mmdevapi:capture - test_audioclient() fails systematically on Windows 10 1909+
- #54704 Black screen with Dungeon Keeper 2 and Wine v8.4
- #55223 d3dx10_34:d3dx10, d3dx10_35:d3dx10, d3dx10_39:d3dx10 & d3dx10_42:d3dx10 sometimes fail on w11pro64-amd
- #55228 kernel32:loader - test_ResolveDelayLoadedAPI() fails on Windows 10+
- #55267 gdi32:font - The 64-bit test_RealizationInfo() gets invalid parameter errors on Windows 8+
- #55269 ntdll:info - The 32-bit test_query_process_debug_port() gets a bad len on Windows 8 64-bit
- #55555 secur32:secur32 - test_ticket_cache() crashes when Kerberos support is missing
- #55560 The 64-bit dbghelp:dbghelp times out in Wine
- #55577 advapi32:registry - The 64-bit test_performance_keys() sometimes crashes on Windows 10
- #55580 The 32-bit uiautomationcore:uiautomation sometimes times out in Wine
- #55605 winmm:mci sometimes gets an assertion in GitLab CI's Wine tests
- #55650 dbghelp:dbghelp fails on macOS
- #55654 Multiple Direct3D 8/9 applications have increased memory usage / run out of memory since Wine 8.14
- #55688 dmusic:dmusic - test_default_gm_collection() crashes on macOS
- #55718 Word 2007 is not able to print multiple copies of a page
- #55720 msxml3:domdoc - test_domnode() fails in Wine
- #55722 dmime:dmime - test_band_track_play() fails on macOS
- #55725 The 32-bit amstream:amstream gets an assert and times out on the GitLab CI
- #55744 psapi:psapi_main fails in Wine
- #55745 tasklist.exe:tasklist - test_filter() fails to list ntdll.dll in Wine
- #55746 wscript.exe:run - Dispatch_Invoke() gets wrong WScript.FullName in Wine
- #55771 uxtheme:system - test_ShouldSystemUseDarkMode() fails on Windows 7 to 10 1909
- #55772 uxtheme:system - test_EnableThemeDialogTexture() fails on Windows 7
- #55777 user32:win - test_GetWindowModuleFileName() sometimes unexpectedly gets a filename on Windows 7
- #55790 Unreal II The Awakening: general protection fault when loading a level
- #55792 Tron 2.0 crashes before the menu appears
- #55808 Catalan translation inserted twice in wine.desktop
- #55817 Myst V (GOG.com, demo): access violation when NPC begins to talk
----------------------------------------------------------------
Changes since 8.18:
Akihiro Sagawa (1):
cmd: Reset totals after trailer output.
Alex Henrie (13):
evr: Use debugstr_fourcc instead of debugstr_an.
iccvid: Use debugstr_fourcc instead of debugstr_an.
d3d10: Use debugstr_fourcc instead of debugstr_an.
dwrite: Use the debugstr_fourcc function instead of reimplementing it.
d3dx9_36: Use debugstr_fourcc instead of debugstr_an.
d3dcompiler_43: Use debugstr_fourcc instead of debugstr_an.
loader: Associate Wine with batch files.
winemenubuilder: Disallow desktop integration for batch files.
loader: Translate wine.desktop to Catalan.
loader: Add separating dash to Spanish translation of wine.desktop.
win32u: Use debugstr_fourcc instead of debugstr_an.
wined3d: Use debugstr_fourcc instead of debugstr_an.
commdlg: Set lCustData the same in GetSaveFileName as GetOpenFileName.
Alexandre Julliard (20):
makefiles: Always use the global SOURCES variable for .man.in files.
makefiles: Always use the global SOURCES variable for .svg files.
makefiles: Always use the global SOURCES variable for .l files.
makefiles: Always use the global SOURCES variable for .y files.
ntdll: Move the relay trace on thread startup to LdrInitializeThunk().
ntdll: Move RtlUserThreadStart implementation to the CPU backends.
ntdll: Use .seh handler in RtlUserThreadStart on ARM64.
ntdll: Also send segment registers to the server on suspend.
zydis: Disable assertions.
dbghelp: Fix a compiler warning on ARM64.
Revert "loader: Translate wine.desktop to Catalan".
ntdll: Simplify platform checks for exception handling functions.
msvcrt: Simplify platform checks for exception handling functions.
msvcrt: Export more exception handling functions on ARM platforms.
kernel32: Export the Ums functions on ARM64.
kernelbase: Export the extended context functions on all platforms.
ntdll: Export RtlCopyMemory on ARM platforms.
vcruntime140_1: Only build for x86-64.
winebuild: Always use .balign for alignment.
shlwapi: Remove unneeded UNALIGNED attributes.
Alexandros Frantzis (2):
winewayland.drv: Ensure outputs can access xdg information robustly.
winewayland.drv: Ensure the logical output dimensions have sane values.
Alistair Leslie-Hughes (4):
msxml: Always increase error count when detected.
msxml3: Don't call qsort if we have no data (Coverity).
msxml3: Move tid_NULL out of possible enum values.
msxml3: Do not leak bind context on error paths (Coverity).
Arkadiusz Hiler (1):
winex11.drv: Send missed KEYUP events on KeymapNotify.
Bartosz Kosiorek (4):
gdiplus: Optimize GDI32_GdipDrawPath (via prepare_dc function).
gdiplus: Improve performance of units_to_pixels by not using division.
gdiplus/tests: Add test for GdipIsOutlineVisiblePathPoint.
gdiplus: Fix transformation in GdipIsOutlineVisiblePathPoint.
Brendan Shanks (9):
configure: Only build Wayland if linux/input.h is present.
winemac.drv: Replace sprintf with snprintf to avoid deprecation warnings.
makedep: Replace sprintf with snprintf to avoid a deprecation warning on macOS.
ctapi32: Ensure unixlib function tables and enum stay in sync.
dnsapi: Ensure unixlib function tables and enum stay in sync.
wpcap: Ensure unixlib function tables and enum stay in sync.
winscard: Ensure unixlib function tables and enum stay in sync.
winemac.drv: Disable declaration-after-statement warnings in ObjC files.
winemac.drv: Fix minimizing windows when Stage Manager is enabled.
Connor McAdams (15):
uiautomationcore: Release node lresult upon failure to allocate a node in uia_node_from_lresult().
uiautomationcore/tests: Add tests for COM API EVENT_OBJECT_FOCUS translation.
uiautomationcore: Potentially raise focus event for serverside providers in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Potentially raise focus event on the currently focused serverside provider in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Add support for translating EVENT_OBJECT_FOCUS for native MSAA IAccessibles.
uiautomationcore/tests: Add tests for cached value helper functions in the COM API.
uiautomationcore: Implement IUIAutomationElement::get_CachedControlType.
uiautomationcore: Implement IUIAutomationElement::get_CachedHasKeyboardFocus.
uiautomationcore: Implement IUIAutomationElement::get_CachedIsKeyboardFocusable.
uiautomationcore: Implement IUIAutomationElement::get_CachedName.
uiautomationcore: Implement IUIAutomationElement::get_CachedBoundingRectangle.
uiautomationcore: Remove accidentally leftover FIXME.
uiautomationcore: Only print FIXME messages for missing default clientside providers once.
uiautomationcore/tests: Fix test failure on Win10v1709.
uiautomationcore: Don't return failure from ::get_FragmentRoot stub on the default BaseHwnd provider.
Daniel Lehman (1):
advapi32/tests: Add ReadEventLogW tests for direction.
Dmitry Timoshkov (4):
crypt32: Avoid truncating unicode chars.
crypt32/tests: Add some tests for quoted RDN values.
crypt32: Add support for CERT_NAME_STR_NO_QUOTING_FLAG to CertNameToStr().
cryptui: Use CertNameToStr(CERT_NAME_STR_NO_QUOTING_FLAG) to disable quoting.
Eric Pouech (9):
wbemprox: Use correct string id.
dsound: Forward error code when device cannot be found.
quartz: Return correct error when no audio devices are present.
mmdevapi: Don't fail when no audio backends are present.
dbghelp: Rename internal field (system -> host).
dbghelp: Use is_host_64bit for handling bitness of mach-o libs.
dbghelp: Set the machine type for mach-O modules.
dbghelp: Simplified module_find_by_addr().
dbghelp: Remove unneeded parameter to pe_map_file.
Esme Povirk (2):
user32/tests: Reduce size demand in test_hvredraw.
mscoree: Update Wine Mono to 8.1.0.
Fabian Maurer (2):
mf/tests: Increase buffer to prevent stack corruption.
ntdll: Add WinSqmSetIfMaxDWORD stub.
Gabriel Ivăncescu (4):
jscript: Fix Array.map when last element doesn't exist.
jscript: Fix Array.reduce when last element doesn't exist.
mshtml: Set outer window to uninitialized page when document obj is released.
mshtml: Return proper errors when navigating with no browser.
Gerald Pfeifer (1):
readme: Update FreeBSD information.
Hans Leidekker (3):
kernelbase: Trace global memory counters in decimal.
advapi32/tests: Get rid of workarounds for old Windows versions.
advapi32/tests: Skip WoW64 registry tests on 32-bit.
Helix Graziani (1):
uxtheme/tests: Skip the test if the SystemUsesLightTheme value isn't found.
Jacek Caban (9):
dwrite: Use DWRITE_FONT_FEATURE_TAG for tags argument type in shape_get_typographic_features.
dwrite/tests: Avoid implicit DWRITE_RENDERING_MODE to DWRITE_RENDERING_MODE1 casts.
dwrite: Avoid implicit casts between DWRITE_RENDERING_MODE and DWRITE_RENDERING_MODE1.
d2d1/tests: Use D2D1_INTERPOLATION_MODE constants in DrawImage calls.
d2d1: Pass interpolation mode as D2D1_INTERPOLATION_MODE to d2d_device_context_draw_bitmap.
d2d1: Don't cast D2D1_THREADING_MODE to D2D1_FACTORY_TYPE in D2D1CreateDevice.
wined3d: Use return type to return result from read_dword.
wined3d: Remove unused parallel_point_count variable.
wined3d: Use unsigned type for res_type bit field.
Jeff Smith (4):
gdiplus/tests: Add tests related to setting the page tranform.
gdiplus: Implement GdipResetPageTransform.
gdiplus: Fix a GdipSetPageScale return status.
gdiplus: Fix GdipSetPageUnit parameter validation.
Jinoh Kang (1):
ntdll/tests: Use win_skip() for missing APIs in test_query_process_debug_port_custom_dacl.
Louis Lenders (1):
uxtheme: Add ShouldAppsUseDarkMode.
Matteo Bruni (5):
wined3d: Fix handling of system-memory GL vertex buffers.
wined3d: Handle NULL push constant buffers with the ARB shader backend.
wined3d: Allow FFP blits to non-render targets with the 'none' shader backend.
wined3d: Implement shadow sampling for the ARB shader backend.
wined3d: Don't skip setting clip planes if the view transform state is dirty.
Mohamad Al-Jaf (16):
windows.media.mediacontrol/tests: Remove flakey ref count test.
include: Add ISystemMediaTransportControlsDisplayUpdater interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControls::get_DisplayUpdater().
windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsDisplayUpdater::get/put_Type() tests.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get/put_Type().
include: Add IMusicDisplayProperties interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get_MusicProperties().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Title() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Title().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Artist() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Artist().
include: Add IMusicDisplayProperties2 interface definition.
windows.media.mediacontrol: Add IMusicDisplayProperties2 stub interface.
windows.media.mediacontrol/tests: Add IMusicDisplayProperties2::get/put_AlbumTitle() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties2::get/put_AlbumTitle().
windows.media.mediacontrol: Return success in ISystemMediaTransportControlsDisplayUpdater::Update().
Nikolay Sivov (7):
mfmediaengine/tests: Use a single helper to create engine instances.
include: Add IMFMediaEngineAudioEndpointId definition.
mfmediaengine: Keep engine extension pointer.
mfmediaengine: Use extension object in CanPlayType().
maintainers: Add EVR to the Media Foundation section.
mfmediaengine: Mask some source flags returned from GetResourceCharacteristics().
d3d10_1/tests: Add some more tests for fx_4_1 blend states.
Paul Gofman (8):
ntdll: Use .seh handler instead of __TRY in RtlUserThreadStart() on x64.
ntdll: Set EH_NESTED_CALL flag in call_stack_handlers() on x64.
ntdll: Use .seh handler in call_handler() on x64.
ntdll/tests: Add test for collided unwind.
ntdll: Use .seh handler in call_unwind_handler() on x64.
winegstreamer: Add AVDecVideoAcceleration_H264 attribute for h264 decoder MFT.
ntdll: Define heap block's BLOCK_FLAG_LFH as 0x80.
shell32: Use SearchPathW() for %l/%L in SHELL_ArgifyW().
Piotr Caban (1):
gdi32: Fix leak in GdiDeleteSpoolFileHandle.
Rémi Bernon (56):
include: Fix debugstr_fourcc printf format to print at most 4 chars.
dmime: Rewrite message thread with a condition variable.
dmusic: Set synth sink master clock when creating port.
dmsynth: Do nothing in IDirectMusicSynth_SetMasterClock.
dmusic: Forward IDirectMusicPort_Activate to synth and sink.
dmime: Use port latency time for messages with -1 time.
dmime: Update performance latency time with port latency.
dmime: Use latency time to decide when to process messages.
dmsynth: Create a render thread on sink activation.
dmsynth: Implement sink rendering to DirectSound buffer.
dmsynth: Correctly lookup instrument from the default drum bank.
dmsynth: Avoid using fluid_ prefix for internal helpers.
dmsynth: Fix DLS2 to FluidSynth conversion for CONN_SRC_CCx.
dmsynth: Fix FluidSynth generators for direct connections.
dmsynth: Convert modulator values from DLS2 to SF2 convention.
dmsynth: Set default modulators according to the DLS2 spec.
dmband: Download segment tracks if performance auto-download is set.
dmband: Set DMUS_PATCH_PMSG bank LSB/MSB from instrument patch.
dmime: Only use index if group is set in IDirectMusicSegment_SetParam.
dmime: Don't interrupt track iteration if SetParam failed.
dmime: Adjust MIDI message time with DMUS_NOTE_PMSG nOffset.
dmusic: Use a dmusic_midi.h header for MIDI messages.
dmime: Translate some DMUS_CURVE_PMSG messages to MIDI.
dmime: Remove FIXME from methods now mostly implemented.
dmime: Avoid crashing when purging notification messages.
dmime: Return S_OK from wave track SetParam GUID_UnloadFromAudioPath.
dmime: Return hr from wave track SetParam GUID_DownloadToAudioPath.
dmusic: Implement IDirectMusicObject interface on wave objects.
dmusic: Use the IDirectMusicObject interface for waves.
dswave: Use the dmusic wave object implementation.
dmime: Avoid releasing the newly created graph twice.
dmime/tests: Remove flaky track playing state test.
dmime/tests: Avoid checking message segment state reference count.
dmime/tests: Ignore failure on missing gm.dls in test_band_track_play.
dmusic/tests: Skip test_default_gm_collection if gm.dls is missing.
dmsynth: Set loop and sample generators on the fluid_voice.
dmime: Force recompute MIDI message reference time.
dmband: Skip band / band track chunk on parsing failure.
dmime: Skip sequence track chunk on parsing failure.
dmime: Skip segment chunk on parsing failure (or success).
dmime: Ignore badly formed wave if format and data have been found.
dmime: Remove shadowing local hr variable.
dmusic: Ignore some known wave chunks.
gitlab: Run tests with LP_NUM_THREADS=4 env var.
mf/tests: Avoid crashing if MF_BYTESTREAM_EFFECTIVE_URL is missing.
dmime: Pass IDirectMusicPerformance8 to segment state functions.
dmime: Pass PlaySegmentEx start time as track time offset.
dmband: Use time_offset to align track start with music time.
dmime: Use time_offset to align track start with music time.
dmime: Use an internal performance message for segment end.
dmstyle: Rename IDirectMusicStyle8Impl method prefix to style.
dmstyle: Get rid of the IDirectMusicStyle8Impl typedef.
dmstyle: Rewrite style part list parsing.
dmstyle: Rewrite style pref chunk parsing.
dmstyle: Rename style_motif to style_pattern.
dmstyle: Rewrite style pttn list parsing.
Sven Baars (2):
wined3d: Don't override the default renderer in wined3d_dll_init().
nsiproxy.sys: Return STATUS_SUCCESS from ipv6_forward_enumerate_all() on non-Linux.
Yuxuan Shui (1):
mfmediaengine: Don't send event notify when engine is shutdown.
Zebediah Figura (18):
advapi32: GetNamedSecurityInfo() takes a const name argument.
advapi32/tests: Use StringFromGUID2().
advapi32: Fix rewinding the last path segment in SetSecurityInfo().
advapi32/tests: Add more tests for GetSecurityInfo().
advapi32: Respect object type in GetSecurityInfo().
advapi32: Respect object type in SetSecurityInfo().
user32/tests: Add basic tests for GetUserObjectSecurity().
advapi32: Implement GetSecurityInfo(SE_WINDOW_OBJECT).
wined3d: Rename buffer dirty ranges fields.
wined3d: Use wined3d_array_reserve() to pre-allocate the buffer dirty ranges array.
wined3d: Do not track dirty ranges for buffers without WINED3D_BUFFER_USE_BO.
d3d10core/tests: Avoid POINT sampling exactly halfway between two mip levels.
d3d11/tests: Avoid POINT sampling exactly halfway between two mip levels.
include: Convert d3d10shader.h to an IDL.
include: Convert d3d10effect.h to an IDL.
ntdll: Do not reject data directories at the end of a file.
ws2_32/tests: Make sure that WSARecv() completes synchronously in test_WSARecv().
ws2_32/tests: Wait for AFD_POLL_RESET in test_get_events_reset().
Alexandre Julliard has announced the availability of the Wine 8.19 development release, which includes an updated Mono engine, more DirectMusic updates, and various bug fixes.