All Versions
Latest Version
Avg Release Cycle
60 days
Latest Release
1294 days ago

Changelog History
Page 1

  • v2.5.8 Changes

    November 27, 2020

    ๐Ÿš€ This release adds support for the Microsoft Edge WebView2 control on WinForms and WPF, if the Microsoft.Web.WebView2 nuget package has been added to your launcher project.

    ๐Ÿฑ โญ New Features

    • โž• Add support for Microsoft.Web.WebView2 #1829

    ๐Ÿฑ ๐Ÿž Bug Fixes

    • ๐Ÿ›  Wpf: More fixes getting proper screen bounds and image when using system dpi #1832
    • ๐Ÿ›  Gtk/Mac Check/RadioToolItem event fixes #1830

    ๐Ÿฑ โค๏ธ Contributors

    ๐Ÿš€ We'd like to thank all the contributors who worked on this release!

  • v2.5.7 Changes

    November 17, 2020

    ๐Ÿฑ โญ New Features

    • ๐Ÿ— Build for .NET 5.0 #1821
    • Wpf/WinForms: Report per-monitor screen information when in system-dpi mode #1820
    • Wpf/WinForms: Extract dependencies to normal nuget references #1806
    • Mac: Add automatic code signing and notarization #1805
    • โž• Add PixelOffsetMode.Aligned for aligned drawing with sharp lines #1799
    • [Feature Request] Custom WndProc #1790

    ๐Ÿฑ ๐Ÿž Bug Fixes

    • ๐Ÿ›  Fix Big Sur issue with Mac64 #1822
    • ๐Ÿ— Building running Mac with .NET 5 prompts to install Mono framework #1814
    • ๐Ÿ Extracting dependencies broke XAML loading on non-Windows platforms #1810
    • Wpf: Graphics.ResetClip() can reset transform if one exists #1808
    • ๐Ÿ›  Fix slow leak of Pango context objects in drawable update #1801
    • Mac: Fix sizing of labels when initially shown on a PixelLayout #1798
    • ๐Ÿšš Mac: Fix closing attached dialog until mouse moves #1797
    • GTK Platform/GtkSharp has a slow memory leak with Drawable controls #1796
    • Gtk3: Fix autosizing of forms with wrapping labels. #1793
    • Mac: DataObject.GetData() should not crash when data is zero #1792
    • GTK Form vertically scaled too large using TableLayout #1791
    • ๐ŸŽ BundleResource not working correctly MacOS #1789
    • ๐Ÿ‘ Mac: Support proper packaging for .NET 5 #1788
    • Mac: Fix drag/drop changes #1787
    • Mac: Properly handle Padding with Scrollable #1786
    • Eto.Platform.Mac64 bundle doesn't recognize .NET 5 #1762
    • [Mac] Labels not sized correctly in PixelLayout #1747
    • Gtk3: incorrect extra height of last vertical element in DynamicTable #1708
    • ๐ŸŽ Attached dialogs on macOS don't close until you move your mouse #1685

    ๐Ÿฑ โค๏ธ Contributors

    ๐Ÿš€ We'd like to thank all the contributors who worked on this release!

  • v2.5.6 Changes

    September 17, 2020

    ๐Ÿ› Bug fix release.

    ๐Ÿ›  Fixes these issues.

  • v2.5.5 Changes

    August 20, 2020

    ๐Ÿ› Bug fix release.

    ๐Ÿ›  Issues fixed

  • v2.5.4 Changes

    August 06, 2020

    ๐Ÿ› Bug fix release. Issues fixed

  • v2.5.3 Changes

    August 06, 2020

    ๐Ÿ› Bug fix release. Issues fixed

  • v2.5.2 Changes

    May 28, 2020

    ๐Ÿ›  This fixes a few issues:

    • Bundling Mac64 apps with msbuild can cause an error #1701
    • Mac: Fix issues setting width/height of a form when it has already been shown #1701
    • Auto load the handler type when subclassing custom platform controls #1701
    • ๐ŸŽ Wpf: Fix huge performance issue when creating many small bitmaps using a Graphics object #1698
    • ๐Ÿ›  Fix GraphicsPath.GetRoundRect when the width/height is smaller or equal to radius*4 #1694
    • ๐Ÿ›  Fix Application.Instance.Open on .NET Core #1695
    • Gtk: Fix PixelFormats.Format32bppRgb #1458
    • Wpf: Fix PixelFormats.Format32bppRgb when using a Graphics object #1458
  • v2.5.1 Changes

    May 26, 2020

    ๐Ÿš€ This release brings in some fixes since 2.5.0, namely:

    • Can now debug .NET Core Eto.Mac64 apps in VS for Mac
    • ๐ŸŽ Native macOS .dylib libraries are included with mkbundle --library option
    • โž• Added FontTypeface.IsSymbol and HasCharacterRanges
    • ๐Ÿ‘ Bindings now support child properties of struct properties
    • Child property bindings can now be used with more than one control
    • โฌ‡๏ธ DropDown allows formatting the Font of each item
    • MaskedTextBox/Stepper allow formatting the decimal and sign characters with a specific culture
    • โž• Added Screen.GetImage() to get a Bitmap representation of a screen
    • โž• Added APIs to set progress for long running tasks in the Taskbar.
    • ๐Ÿ›  Many fixes
  • v2.5.0 Changes

    February 19, 2020

    ๐Ÿš€ The 2.5.0 release is a culmination of new features, refinements, and fixes.

    ๐Ÿš€ There have been over 680 commits and 948 files changed since v2.4.1. Thanks to the following for their very generous contributions included in this release: @couven92, @MartinRothschink, @SteveGilham, @harry-cpp, @e673, @halid-durakovic, @wjk, @acormier, @carlreinke, @oigami, @kike-garbo, @brtn, @allsorts46, @ItEndsWithTens

    Also, a big thanks to everyone that submitted or contributed to issues and helped others on gitter. It is greatly appreciated!

    ๐Ÿ†• New Features

    ๐Ÿš€ Here are some of the most notable features of this release:

    • ๐Ÿ‘ Full support for .NET Core 3.x for WPF, WinForms, Gtk, and Mac64
    • โšก๏ธ Updated extensions for VS for Mac 8.x and VS 2019
    • ๐Ÿ’… Cascading Styles
    • Drag images with cursor offset
    • โฌ‡๏ธ Drop descriptions (windows only)
    • ๐Ÿ†• New Eto.Drawing.FormattedText to draw wrapped and/or aligned text using any brush with the Graphics object
    • ๐Ÿ†• New Windows.MovableByWindowBackground property
    • ๐Ÿ†• New Controls: CheckBoxList, EnumCheckBoxList, PropertyGrid, ToggleButton, and SegmentedButton
    • ๐ŸŽ 32-bit macOS platforms are no longer supported (Eto.Platform.Mac and Eto.Platform.XamMac).
      Please use Eto.Platform.Mac64 or Eto.Platform.XamMac2 instead.

    .NET Core 3.x

    This release brings support for .NET Core to all of the desktop platforms including Eto.Platform.Wpf, Eto.Platform.Windows, Eto.Platform.Mac64, and Eto.Platform.Gtk (which already had support for .NET Core 2.x). This means you can use the same libraries and runtime for all platforms, and use newer packages that depend on .NET Standard 2.1.

    ๐Ÿ‘ > Note that this does not include Xamarin.Mac as it does not support .NET Core.

    ๐Ÿš€ For the Mac64 platform it will automatically package up the .NET Core runtime into an .app bundle in Release mode, for other platforms you can use the standard dotnet publish to publish your app to run without anything pre-installed.

    ๐ŸŽ > Note that you can only debug apps using .NET Core for Mac64 using VSCode on macOS. Support for debugging .NET Core using VS for Mac is forthcoming.

    When targeting .NET Core, you must use separate launchers per platform, the combined launcher only works when targetting .NET Framework only.

    Visual Studio Extensions

    โšก๏ธ The visual studio extensions have been updated for the latest VS for Mac and VS 2019, including the design preview for xaml (.xeto), json (.jeto), and code preview (.eto.cs).

    ๐Ÿ Windows-NewProject

    ๐Ÿ’… Cascading Styles

    ๐Ÿ’… Cascading styles allows you to apply styles to all controls within a specific container instead of globally. You can also provide your own style provider which could eventually support things like using .css files to define styles.

    ๐Ÿ’… The syntax for adding styles is nearly identical to global styles, allowing you to optionally specify a style identifier. A simple example could be something like the following, which vertically centers all labels in a panel:

    class MyPanel : Panel{ public MyPanel() { // make all labels vertically centered in this panelStyles.Add\<Label\>(null, l =\> l.VerticalAlignment = VerticalAlignment.Center); Content = new TableLayout { Rows = { new TableRow("First Name", new TextBox()), new TableRow("Last Name", new TextBox()), new TableRow("Birth Date", new DateTimePicker()) } }; } }

    Drag Images and Drop Descriptions

    You can now specify drag images and drop descriptions for a Drag 'n Drop operation by using the new Control.DoDragDrop(DataObject data, DragEffects allowedEffects, Image image, PointF cursorOffset) override and DragEventArgs.SetDropDescription(string format, string inner = null).

    ๐Ÿ These integrate with the standard functionality of each platform so your apps will work beautifully. On windows it uses the newer shell drag/drop to provide a more modern look for the link/move/copy actions.



    ๐Ÿ Windows (with drop description)

    ๐Ÿ Windows-DragImageDropDescription

    ๐Ÿ‘ > Note that the drop description is only supported on Wpf and WinForms, on other platforms it will be ignored. Drag images are supported on all platforms.


    You can now draw formatted text with wrapping and alignment options, with any brush (solid, linear gradient, radial gradient, texture brush).


    Mac and Xamarin.Mac Improvements

    ๐ŸŽ The macOS platforms have had numerous updates to improve layout performance, and also it now uses the alignment rectangle for sizing and positioning controls. This means that many standard controls, such as Button, Stepper, DropDown, etc that have had intrinsic padding no longer do and will now align to the control itself.

    CheckBoxList and EnumCheckBoxList

    ๐Ÿ Windows-CheckBoxList


    ๐Ÿ The PropertyGrid can be used to edit object(s) and arrays, very much like the one included in Windows Forms. This combines the TreeGridView and PropertyCell to provide an editor UI you can use to allow you users to easily modify objects and its properties.

    ๐Ÿ Windows-PropertyGrid


    The ToggleButton is perfect when you want something other than a check box to toggle a value.



    The SegmentedButton presents a grouped set of buttons that can optionally be selected and optionally show drop down menus for each item.


    ๐Ÿš€ Release Cadence

    ๐Ÿš€ 2.5.x will continue to be improved, and point releases will be distributed as often as necessary to bring the latest features and fixes to official nuget packages sooner than has been done in the past. This is thanks in part of the added CI automation provided by Azure DevOps.

  • v2.5.0-rc.6

    February 17, 2020