Releases: madewokherd/wine-mono
wine-mono-7.0.0
This will most likely be the last release before Wine 7.0.
Changes since 6.4.1:
- SEH exceptions in Marshal.Release are now silently ignored. This fixes a crash in the launcher of Borderlands GOTY Enhanced. (Paul Gofman, Esme Povirk)
- The Interaction.Command method has been fixed to return only command line arguments, not the program name. Fixes #116.
- Implemented special marshaling behavior for IsCopyConstructed. This fixes a crash in SteamLayerWrap.dll on x86.
- Updated Mono from upstream.
wine-mono-6.4.1
Changes since 6.4.0:
- Fixed pinvokes that use the object type without MarshalAsAttribute. This fixes the accessibility code for drop-down lists in winforms.
- Added a hack that prevents
Type.GetType("System.MonoType")
orType.GetType("Mono.Runtime")
from returning a type ifWINE_MONO_HIDETYPES=1
is set. This is to prevent a common method of detecting Mono. In a future version, hopefully these types can be removed entirely, but right now Mono-specific codepaths are needed for some things to work. - Fixed some embedded resources in winforms having the wrong name. This fixes an exception when trying to use the PropertyGrid control.
- Updated FAudio to fix a regression where missing WMA support would cause a crash when used in a certain way. This restores the previous behavior where the audio is treated as silence.
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.