Releases: madewokherd/wine-mono
wine-mono-6.4.0
Changes since 6.3.0:
- Mono updates:
- Removed requirement for Runtime Callable Wrapper interfaces to have ComImportAttribute. (Fixes path selection dialog in Bizhawk.)
- Fixed pinvoked libraries not finding dependencies in the same directory. (Fixes failure to find libraries in IL-2 Sturmovik.)
- Fixed a parsing error in Type.GetType implementation. (Fixes an error in Magicka.)
- Stubbed some GC methods. (Fixes an error in FLY'N.)
- Made IUnknown and IDispatch the same interface pointer for COM Callable Wrappers. (Fixes an error in winforms WebBrowser affecting The Sims 3 launcer.)
- Pull requests to https://github.com/madewokherd/mono will now run the CI process.
- SafeArray marshaling code is now shared between wrapper methods and Marshal's VARIANT conversion methods, making it possible to use more SafeArray types in pinvoke methods and COM wrappers.
- Runtime Callable Wrappers now correctly default to SafeArray marshaling for array types. (Fixes https://bugs.winehq.org/show_bug.cgi?id=50623)
- Mono no longer performs runtime cleanup at process shutdown, which is more accurate to .NET Framework and fixes some processes failing to exit.
- Modified the JIT to accept assignments between different value types. (Fixes an invalid IL error in Sol Survivor)
- Imported System.Drawing.Printing classes from .NET Core. This fixes the print dialog in winforms and may also help with printing.
- Static constructors are now run before pinvokes, fixing library load errors in the Stride game engine.
- Implemented Type.GetTypeFromProgID.
- Implemented marshaling of ArgIterator to va_list.
- Added stub for MetadataExporter.PolicyVersion. (Fixes https://bugs.winehq.org/show_bug.cgi?id=50498)
- Merged in updates from upstream.
- FNA updates:
- FNA now uses mfplat instead of libtheorafile for media file handling, making it possible to load wmv and wma files if Wine has the necessary support.
- Updated FNA to 21.08.
- Updated SDL to 2.0.16.
- Winforms updates:
- Fixed a bug where FileDialog would fail if FilterItems is empty. (Fixes a crash in LiveSplit trying to browse to a split file.)
- Added a partial work-around for a Wine bug where tooltips incorrectly are focuses when shown.
- Visual Basic updates:
- Imported Interaction.CreateObject from .NET Core.
- Imported the Interaction methods AppActivate, InputBox, Shell, and MsgBox from winforms.
- The System.Printing assembly now exports all of the types and methods it's supposed to, though none of them are implemented. This was needed for some parts of other WPF assemblies to function.
wine-mono-6.3.0
Changes since 6.2.0:
- Mono updates:
- Made some exceptions that said "error looking up error string" more specific.
- Fixed a bug where nunit would run any test whose name starts with one that was selected (e.g. if you tried to run Test1 it would also run Test12).
- Made IL call argument type checking more permissive. (Fixes the launcher for ValveSoftware/Proton#4199)
- Imported System.Security.Principal types from corefx. (Fixes https://bugs.winehq.org/show_bug.cgi?id=51213 and https://bugs.winehq.org/show_bug.cgi?id=25167)
- Fixed a bug where arguments would marshal incorrectly for COM Callable Wrappers not in the default AppDomain. (Fixes https://bugs.winehq.org/show_bug.cgi?id=50849)
- Implemented UnmanagedType.LPStr marshaling using the ANSI codepage. (Fixes https://bugs.winehq.org/show_bug.cgi?id=51306)
- The String(sbyte*) constructor now uses the ANSI codepage. (Fixes https://bugs.winehq.org/show_bug.cgi?id=51346)
- Fixed DllImport's by ordinal. (Fixes https://bugs.winehq.org/show_bug.cgi?id=22572)
- Implemented a case in Mono's register allocator where a spilled value is used multiple times. (Fixes Pop'n Music Be-Mouse)
- Implemented IDispatch::Invoke for COM Callable Wrappers.
- Updated from upstream.
- WPF updates:
- Added a work-around for a clang compiler bug in _asm compilation. (Fixes https://bugs.winehq.org/show_bug.cgi?id=51334)
- Fixed loading baml resources from theme dll's. (For ValveSoftware/Proton#4983)
- Added a fallback for when the Arial font is not available. (Fixes the launcher for ValveSoftware/Proton#4983)
- Visual Basic updates:
- Switched from the old VBNC compiler to the roslyn-based VBC compiler. VBC is now used to build Microsoft.VisualBasic.dll, the portion of the VB runtime tests written in VB, and anything sent through the Microsoft.VisualBasic.VBCodeProvider class. VBNC is no longer built or shipped.
- Fixed Conversion.Hex(ulong) method failing for values with the highest bit set. (For https://bugs.winehq.org/show_bug.cgi?id=46014)
- Imported the WindowsFormsApplicationBase class from winforms. (Fixes https://bugs.winehq.org/show_bug.cgi?id=46014)
- Added work-arounds for some Mono marshaling issues encountered by the System.Windows.Forms.WebBrowser control. (Fixes https://bugs.winehq.org/show_bug.cgi?id=32316)
- Added PDB files, available in a separate "dbgsym" archive.
- Updated FNA to 21.07.
wine-mono-6.2.2
This is a bugfix release that adds a work-around for https://bugs.winehq.org/show_bug.cgi?id=51334, which appears to be a clang regression in its _asm handling.
wine-mono-6.2.1
This is a bugfix release containing a fix for https://bugs.winehq.org/show_bug.cgi?id=50849
wine-mono-6.2.0
Changes since 6.1.2:
- Mono updates:
- Various settings path fixes for Elite Dangerous. (Gabriel Ivăncescu)
- Added support for vararg pinvoke methods.
- Fixed a bug where Process.get_ProcessName would raise an InvalidOperationException if it's called on a 64-bit process from a 32-bit process.
- Fixed EventInfo class to raise TargetInvocationException when the target raises an exception.
- Classes with an explicit struct layout are now marshaled as struct by default. (Gabriel Ivăncescu)
- Implemented missing properties in ClientRuntime class. (Gabriel Ivăncescu)
- Fixed a bug where mixed-mode assemblies can't find native dll dependencies in the same path.
- Updated from upstream.
- Many improvements to testing and continuous integration.
- Updated FNA to 21.05.
- Updated llvm-mingw to 20210423, and switched from using msvcrt to ucrt.
- Fixed a bug where csc.exe would fail if the Mono runtime is installed in a path containing spaces.
wine-mono-6.1.2
This is a bugfix release for an error that would cause the garbage collector to crash or miss references in 64-bit processes, if a class's field layout meets specific conditions.
wine-mono-6.1.1
This release fixes a regression in 6.1.0 (and probably 6.0.0 as well) which broke icall instructions in methods or types that have generic parameters. To my knowledge, this feature is only used by C++/CLI. SlimDX was affected by this bug.
wine-mono-6.1.0
Changes since 6.0.0:
- Mono updates:
- Fixed a build error in Linux btls (#70).
- Fixed thread state transition errors in mono_marshal_get_vtfixup_ftnptr. (Gabriel Ivăncescu)
- Fixed error when calling MemoryMappedFile.CreateNew with a null mapname. (Gabriel Ivăncescu)
- Various fixes for invalid IL errors.
- Implemented various features relating to COM interop and marshaling. (Gabriel Ivăncescu)
- Fixed NullReferenceException when calling Marshal.GetObjectForNativeVariant with a null VT_BSTR.
- Merged fix for #46.
- Fixed a crash when running JIT-compiled code on macOS, by funneling GS-relative reads through the reserved offsets that are known to work on macOS.
- Updated from upstream.
- WPF updates:
- Added multimedia components to WpfGfx. (Rémi Bernon)
- Added a work-around for Winehq bug 50743 which causes layered windows not to render when initially shown.
- Various text layout fixes.
- Added a work-around for DllImport of DwmIsCompositionEnabled using PreserveSig=false which Mono does not support. (Gabriel Ivăncescu)
- XNA updates:
- Added registry entries to fake an XNA 4 install. (Chip Davis)
- Disabled logging to stdout. This was causing problems when XNA is used from a process that doesn't have a valid standard out handle. Logs can now be read using
WINE_MONO_TRACE=T:Microsoft.Xna.Framework.FNALoggerEXT
- Updated FNA to 21.03.05.
- Test Suite:
- Github CI is enabled and runs the full test suite on Linux, and the 64-bit mscoree tests on macOS. This provides an easy way to download builds from the current revision, using the Actions tab on GitHub. (based on work by Zhenbo Li)
- The run-tests executable from the tests folder now includes a set of default arguments, which skip broken tests and compare the results to the expected results on the current platorm. The run-on-windows.bat file has been removed.
- Fixed an error which caused any executable tests written in IL to only be run in 32-bit processes.
- Fixed some invalid cast errors when a document object is accessed through System.Windows.Forms.WebBrowser.
- Fixed Interaction.GetSetting and DeleteSetting methods from the Visual Basic runtime.
- Fixed a bug where builtin dll's wouldn't be installed if Wine Mono is in a shared directory containing a space.
wine-mono-6.0.0
Changes since 5.1.1:
- Integrated the monoDX project from Alistair Leslie-Hughes, providing a replacement for the Microsoft.DirectX assemblies. (Rémi Bernon)
- Updated FNA to 21.01, bringing in the new FNA3D graphics implementation.
- Updated SDL to 2.0.14.
- Improvements to the VB.NET runtime's conversion code, from myself and Paul Gofman.
- Mono:
- Merged in changes from upstream Mono.
- Fixed #67.
- Fixed invalid IL errors on call instructions in various applications, when the IL code provides a pointer where the call signature expects a native int, or an integer where the call signature expects a byref parameter.
- Worked around #69 by having Environment.UserInteractive always return true.
- Fixed crashes in __ComObject finalizer in winforms applications.
- Marshal.Release will silently fail when given a bad pointer. This was intended to fix an application, but it turned out to be insufficient.
- System.Drawing.Icon can now load PNG icons, and icon files that contain only a 256x256 icon. (Paul Gofman)
- Winfoms:
- Fixed Application.StartupPath to not include a trailing backslash. This fixes the FIFA 21 launcher.
- Fixed System.ArgumentException in ResXResourceSet..ctor, affecting Grandia HD remasters.
- WPF:
- Fixed copy/paste in text boxes.
- Improvements to our replacement for the proprietary text layout code in upstream.
- WpfGfx shader resources have been integrated into the dll, fixing some crashes. This required compiling them manually on Windows using fxc.exe and embedding the binaries in the source code.
- Test suite:
- We can now have custom nunit-lite tests in wine-mono, which we use to test WPF.
- We can now build and run the tests for the VB.NET runtime libraries.
- Build system:
- Some work towards ARM targets. One can now make with ENABLE_ARM=1. However, there is a lot of work to be done, as most components fail to build this way.
- Updated llvm-mingw to 20201020.
- Vagrant build VM has been updated from Ubuntu 18.04 to 20.04.
wine-mono-5.1.1
Changes since 5.1.0:
- Enough of the WPF TextFormatting API has been implemented in managed code (without needing PresentationNative) for TextBlock and TextBox controls to load. This makes applications using WPF much more likely to start.
- Most debug output now goes through Wine's debug functions, which sends it to stderr and prevents it from getting lost when win32 pipes aren't passed along to child processes.
- COM improvements for applications using the _AppDomain interface: mono/mono#19768
- Imported the NetworkChange class from corefx.
- Improvements to array marshaling: mono/mono#19683
- Fixed a race condition that can cause a crash in winforms when using timers.
- Cherry-picked some regression fixes for winforms from upstream.