Alexandre Julliard has announced the release of the Wine development release 4.20. The new version comes with a new version of the Mono engine, improved support for LLVM MinGW, and more.
The Wine development release 4.20 is now available.
What's new in this release (see below for details):
- New version of the Mono engine with an FNA update.
- Code persistence in VBScript and JScript.
- Vulkan spec updates.
- Improved support for LLVM MinGW.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.20.tar.xz
http://mirrors.ibiblio.org/wine/source/4.x/wine-4.20.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 4.20 (total 37):
10728 LEGO Island character models are textureless
13499 The Odyssey: Winds Of Athena: access violation when trying to run
16644 SimGolf v1.03 does not render terrain
16808 Password Safe crashes with page fault when renaming entries
19667 Demo for Total Annihilation: mouse scrolling of screen unworkable.
24529 TSDoctor 1.0.58 fails to run
33498 Multiple application installers need setupapi.SetupDiCallClassInstaller implementation (USB over Network 5, Microsoft Windows CE Platform Manager 4.0/sub-installer of Embedded VC++ 4.0)
34723 Resident Evil 3: changing settings during the game (in fullscreen mode) results in a crash
35821 wPrime 2.x (VB6 app) reports 'Run-time error 445: Object doesn't support this action' (needs ITextStream ReadLine method implementation)
35925 Age of Wonders III (version = 46.
d3dcompiler: Initialize MinPrecision when it exists.
d3dcompiler: Fix a couple of failure return values in >= 46 D3DReflect().
d3dcompiler/tests: Add d3dcompiler_47 tests.
d3dcompiler/tests: Add a small test for MinPrecision.
d3dcompiler/tests: Clean up test_reflection_desc_ps_output() a bit.
d3d10/tests: Add reflection test.
Micah N Gorrell (1):
ole32: Obtain stream size regardless of current position.
Michael Stefaniuc (19):
vbscript: Remove redundant NULL checks before SysFreeString().
dmstyle: Rename IDirectMusicTrack8Impl to audition_track.
dmstyle: Rename IDirectMusicTrack8Impl to chord_track.
dmstyle: Rename IDirectMusicTrack8Impl to command_track.
dmstyle: Rename IDirectMusicTrack8Impl to motif_track.
dmstyle: Rename IDirectMusicTrack8Impl to mute_track.
dmstyle: Rename IDirectMusicTrack8Impl to style_track.
dmcompos: Rename IDirectMusicTrack8Impl to chordmap_track.
dmcompos: Rename IDirectMusicTrack8Impl to signpost_track.
dmime: Rename IDirectMusicTrack8Impl to lyrics_track.
dmime: Rename IDirectMusicTrack8Impl to paramcontrol_track.
dmime: Rename IDirectMusicTrack8Impl to segment_track.
dmime: Rename IDirectMusicTrack8Impl to sequence_track.
dmime: Rename IDirectMusicTrack8Impl to sysex_track.
dmime: Rename IDirectMusicTrack8Impl to tempo_track.
dmime: Rename IDirectMusicTrack8Impl to wave_track.
dmscript: Rename IDirectMusicTrack8Impl to script_track.
d3d9/tests: Actually test a return value.
d3dx9: Remove redundant NULL check before heap_free().
Nikolay Sivov (35):
propsys/tests: Merge test files.
propsys: Add a semi-stub for PSCreatePropertyStoreFromObject().
comsvcs/tests: Rename test file.
comsvcs: Add a stub for "new" moniker.
comsvcs: Implement display name parsing for "new" moniker.
comsvcs: Implement Hash() for "new" moniker.
comsvcs: Implement IsSystemMoniker() for "new" moniker.
comsvcs: Implement Inverse() for "new" moniker.
ole32: Support BIND_OPTS3 in bind context.
mf: Add MFCreateVideoRendererActivate().
mfreadwrite/tests: Add some tests for "any"-stream requests.
comsvcs: Add GetTimeOfLastChange() for "new" moniker.
comsvcs: Add Enum() for "new" moniker.
comsvcs: Implement IPersistStream methods for "new" moniker.
comsvcs: Accept progid's when creating "new" monikers.
mfreadwrite: Use separate helpers for sync/async ReadSample().
mfreadwrite: Track source state in reader.
mfreadwrite: Return earlier on ReadSample() is stream is deselected.
ole32/tests: Remove Win9x workarounds from moniker tests.
shell32: Remove "stub" from traces.
ole32: Remove "stub" from traces.
msxml3: Remove "stub" from traces.
rpcss: Make initialization helper easier to extend.
rpcss: Implement interface to return sequential identifiers.
ole32: Reimplement CoGetCurrentProcess() to use global counter from rpcss.
ole32: Add separate enumerator implementation for IEnumSTATPROPSETSTG.
comsvcs: Implement BindToObject() for "new" moniker.
comsvcs/tests: Add some tests for "new" moniker interfaction with bind context.
comsvcs/tests: Get rid of global variable.
comsvcs: Add Reduce() for "new" moniker.
comsvcs: Add IROTData stub for "new" moniker.
comsvcs: Support progid in "new" moniker serialization stream.
comsvcs/tests: Remove traces from tests.
ole32: Add separate IEnumSTATPROPSTG implementation.
ole32: Return optional name in IEnumSTATPROPSTG::Next().
Paul Gofman (8):
d3dx9: Correctly handle NULL constant state for objects on 64 bit arch.
ddraw/tests: Add tests for alpha component in surface format conversions.
kernel32: Output a message in GetVolumeInformationW() when device has no read access.
wined3d: Check if destination texture has GPU access in glsl_blitter_supported().
wined3d: Use software decompression for converting from compressed format.
wined3d: Fixup alpha component in wined3d_texture_gl_upload_data().
ddraw/tests: Also test format conversion alpha for sysmem textures.
ddraw/tests: Backport test_surface_format_conversion_alpha() for ddraw4.
Piotr Caban (12):
msvcrt: Improve printf %I format support.
msvcrt: Enable printf %z, %t and %j formats.
msvcrt: Use %ls format for wchar strings in DoMessageBox.
ntdll: Work around futimens weak linking problem in set_file_times.
user32: Include png.h only if SONAME_LIBPNG is defined.
windowscodecs: Include png.h only if SONAME_LIBPNG is defined.
winebus: Reference PDOs added to DEVICE_RELATIONS structure.
winebus: Fix DEVICE_RELATIONS content on device removal.
ntoskrnl.exe: Store device state in volatile key.
ucrtbase: Set invalid parameter handler for all misc tests.
ucrtbase: Clean up strftime tests.
msvcrt: Call invalid parameter handler in strftime.
Rémi Bernon (21):
user32/tests: Wait and flush messages after window creation.
user32/tests: Add some wparam mask to message sequences for w1064v1809.
user32/tests: Update SetActiveWindow(0) test result for w1064v1809.
user32/tests: Skip tests expecting ascii VK wparam on non-us keyboards.
user32/tests: Add optional flags for alternative sequence on w1064v1809.
user32/tests: Flush remaining events before starting a new sequence.
user32/tests: Increase test_timers count tolerance on Windows.
user32/tests: Tweak test result for w1064v1809.
user32/tests: Synchronize with the SendMessageTimeout thread.
user32/tests: Close event at the end of the test_WaitForInputIdle test.
user32/tests: Ignore WM_WININICHANGE message in test sequences.
user32/tests: Make the test_PeekMessage3 timer fire less often.
user32/tests: Synchronize with other thread between SendMessage calls.
user32/tests: Wait longer for injected mouse event to take effect.
user32/tests: Add optional messages to test sequences.
dnsapi: Increase buffer size to fix format-overflow warning.
oleaut32: Increase buffer size to fix format-overflow warning.
winevdm: Increase buffer size to fix format-overflow warning.
opencl: Define CL_TARGET_OPENCL_VERSION 220 to fix a header warning.
winealsa.drv: Increase buffer size to fix format-overflow warning.
winmm: Fix int-to-pointer and pointer-to-int casts warnings.
Sven Baars (6):
shell32: Fix a memory leak (Valgrind).
urlmon/tests: Fix a test failure on Windows XP.
wintrust/tests: Initialize cbStruct in the ObjectTrust tests.
gdi32/tests: Update expected ExtCreateRegion behavior to represent newer Windows.
gdi32/tests: Remove some Win9x workarounds from the clipping tests.
d3dcompiler/tests: Fix some d3dcompiler_47 test failures on Windows 8.
Vijay Kiran Kamuju (1):
include: Add missing FOLDERID's to knownfolders.h.
Vincent Povirk (3):
mscoree: Update Wine Mono to 4.9.4.
Revert "mscoree: Call mono_thread_manage in GC Unsafe mode.".
msi: Use integers internally for MSIDBOPEN constants.
Zebediah Figura (56):
strmbase/transform: Reimplement IQualityControl for the source pin.
ntoskrnl.exe: Pass the correct output size to IoBuildDeviceIoControlRequest().
http.sys: Factor out get_connection().
http.sys: Allow receiving entity body data.
httpapi: Implement HttpReceiveRequestEntityBody().
d3d9/tests: Reorder two occlusion query tests to work around a timeout with llvmpipe.
d3d8/tests: Flush events after sending SC_MAXIMIZE.
userenv: Fix a copy-paste error.
userenv: Use wide character string literals.
userenv: Set the ProgramFiles(x86) and CommonProgramFiles(x86) environment variables.
userenv: Add a set_env_var() helper.
ntdll: Set the ProgramFiles(x86) and CommonProgramFiles(x86) environment variables.
ntoskrnl.exe: Implement many more properties in IoGetDeviceProperty().
ntoskrnl.exe: Stub IRP_MN_QUERY_CAPABILITIES for root-enumerated devices.
ntoskrnl.exe: Implement IRP_MN_QUERY_DEVICE_RELATIONS for root-enumerated devices.
ntoskrnl.exe: Trace the call to AddDevice().
ntdll: Fix a typo.
winebus.inf: Add new INF file and copy it to the INF directory.
winebus.sys: Implement AddDevice().
wineboot: Create a root-enumerated device object for winebus.
wine.inf: Remove registration for the winebus service.
winebus.sys: Initialize and teardown the HID backends while the bus FDO is still extant.
ntoskrnl.exe: IoInvalidateDeviceRelations() receives the parent PDO.
ntoskrnl.exe: BusRelations is also used when devices are removed.
winebus.sys: Stop creating a setupapi device.
d3d9/tests: Add another flush to work around an intermittent test failure on fvwm2.
wined3d: Introduce wined3d_stateblock_set_viewport().
d3d9: Handle stateblocks in d3d9_device_SetViewport().
d3d8: Handle stateblocks in d3d8_device_SetViewport().
ddraw: Handle stateblocks in d3d_device7_SetViewport().
configure: Install winebus.inf.
setupapi: Fix setting filepart in SetupCopyOEMInfW().
setupapi: Set the device class in SetupDiBuildDriverInfoList().
setupapi: Set the DeviceDesc value in SetupDiInstallDevice().
wined3d: Introduce wined3d_stateblock_set_scissor_rect().
d3d9: Handle stateblocks in d3d9_device_SetScissorRect().
wined3d: Introduce wined3d_stateblock_set_index_buffer().
d3d9: Handle stateblocks in d3d9_device_SetIndices().
wined3d: Introduce wined3d_stateblock_set_base_vertex_index().
d3d8: Handle stateblocks in d3d8_device_SetIndices().
wined3d: Introduce wined3d_stateblock_set_stream_source().
d3d9: Handle stateblocks in d3d9_device_SetStreamSource().
d3d8: Handle stateblocks in d3d8_device_SetStreamSource().
wined3d: Introduce wined3d_stateblock_set_stream_source_freq().
d3d9: Handle stateblocks in d3d9_device_SetStreamSourceFreq().
advapi32/tests: Remove a todo_wine.
wined3d: Introduce wined3d_stateblock_set_light().
d3d9: Handle stateblocks in d3d9_device_SetLight().
d3d8: Handle stateblocks in d3d8_device_SetLight().
ddraw: Handle stateblocks in d3d_device7_SetLight().
ddraw/tests: Expand test_coop_level_d3d_state().
wined3d: Also reset the device state to the default in wined3d_device_uninit_3d().
wined3d: Introduce wined3d_stateblock_set_light_enable().
d3d9: Handle stateblocks in d3d9_device_LightEnable().
d3d8: Handle stateblocks in d3d8_device_LightEnable().
ddraw: Handle stateblocks in d3d_device7_LightEnable().
Zhiyi Zhang (8):
winex11.drv: Introduce is_virtual_desktop().
winex11.drv: Use a separate virtual desktop display device handler.
winex11.drv: Get virtual desktop size limit from the host primary display.
winex11.drv: Move the desktop fullscreen check after desktop init.
winex11.drv: Fix NoRes mode handler having an empty mode.
user32/tests: Fix test failures on multiple monitor setup.
user32/tests: Fix monitor test failures on some systems.
d3d8: Fix incorrect types.