diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 869355f3f..16df5a5ec 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -48,4 +48,4 @@ jobs: # NUGET_SOURCE: https://api.nuget.org # Flag to toggle pushing symbols along with nuget package to the server, disabled by default - INCLUDE_SYMBOLS: false \ No newline at end of file + INCLUDE_SYMBOLS: true \ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props index f5ea907c4..53f7dce48 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,9 +1,9 @@ - 0.89.4 - 0.89.4 - 0.89.4 + 0.90.0 + 0.90.0 + 0.90.0 Miguel de Icaza, Charlie Kindel (@tig), @BDisp diff --git a/Terminal.Gui/Terminal.Gui.csproj b/Terminal.Gui/Terminal.Gui.csproj index c19017bf6..560b707fb 100644 --- a/Terminal.Gui/Terminal.Gui.csproj +++ b/Terminal.Gui/Terminal.Gui.csproj @@ -17,27 +17,32 @@ MIT https://github.com/migueldeicaza/gui.cs/ csharp, terminal, c#, f#, gui, toolkit, console - Console-based user interface toolkit for .NET applications. + Console user interface toolkit for .NET applications. Miguel de Icaza Application framework for creating modern console applications using .NET Terminal.Gui is a framework for creating console user interfaces - 0.90: Feature Complete pre-release of 1.00 - * API documentation completely revamped and updated. Readme upated. Contributors guide added (Thanks @tig!) + This (0.90) is the "Feature Complete" pre-release of Terminal.Gui (aka gui.cs) 1.0. This release is a signficant upgrade from the previous published release (0.81). Most of the major changes and bug fixes are listed below. NOTE: This release includes breaking changes to the API; we will strive to avoid any more breaking changes before 1.0. + + What's new: * New sample/demo app - UI Catalog - Replaces demo.cs with an easy to use and extend set of demo scenarios. (Thanks @tig!) + * The API documentation is completely revamped and updated. Readme upated. Contributors guide added (Thanks @tig!) * MenuBar can now have MenuItems directly (enables top-level menu items with no submenu). (Thanks @tig!) - * Apps can now get KeyUp/KeyDown events. (Thanks @tig!) + * API semantics are much more consistent across classes. For example, all events are now defined in terms of Action instead of EventHanlder. BREAKING CHANGE. (Thanks @bdisp and @tig!) + * The project has been refactored an reorganized to reduce risk of bugs and make it easier to c + * Symbols are now included with the nuget package. + + Fixes/Improvements (partial list; see Github issues for complete list): * Fixes #396 - Text alignnment issues. (Thanks @tig!) * Fixes #423 - Fix putting results of ocgv on command line erases cursor. (Thanks @tig!) + * Apps can now get KeyUp/KeyDown events. (Thanks @tig!) * Example/Designer csproj files updated to latest Visual Studio model. (Thanks @tig!) * Adjusted the default colors for Windows to make more readable. (Thanks @tig!) * Toplevel.Ready event - Fired once the Toplevel's MainLoop has started (#445). (Thanks @tig!) - * Refactored several events to use event vs. Action. (BREAKING CHANGE) (Thanks @tig!) * All compile warnings fixed. (Thanks @tig!) * Fixed a crash in EnsureVisibleBounds. (Thanks @tig!) * Application.Init/Shutdown are more robust. (Thanks @tig!) * New "Draw Window Frame" code; consistent across Window, FrameView, and Menu. Fixes many drawing bugs. (Thanks @tig!) - * The project has been refactored an reorganized to reduce risk of bugs and make it easier to contribute #541. (Thanks @tig!) * Fixes #522 - Last view of Frameview not drawn. (Thanks @tig!) * Clipping has been fixed/restored - it now works properly. (#586) (Thanks @tig!) * Added a View.LayoutComplete event (#569). (Thanks @tig!) @@ -91,7 +96,6 @@ * The Checkbox.Toggled event is now an EventHandler event and passes previous state. (Thanks @tig!) * Fixes #102 All Views now support parameterless constructors. (Thanks @Bdisp and @tig!) * Fixes #583 Button can now be sized. Button now supports TextAlignment. (Thanks @Bdisp!) - * Fixes #447 All events are now defined in terms of Action instead of EventHanlder. BREAKING CHANGE. (Thanks @bdisp and @tig!) * Fixes #421 Now builds on Linux with "dotnet build". (Thanks @AArnott!) * MenuItem now supports checked/selected items. (Thanks @tig!) * Label no longer incorreclty displays formfeed char. (Thanks @tig!) @@ -102,7 +106,6 @@ * ConsoleDriver and Drivers have new standard glyph definitions for things like right arrow. (Thanks @tig!) * ScrollView updated to use pretty glyphs. (Thanks @tig!) * Menubar now uses pretty arrow glyph for sub-menus. (Thanks @tig!) - * The project now has a growing set of unit tests (over 100 tests). (Thanks @tig!) * View now has a Text property, implemented via the new TextFormatting class. (Thanks @tig!) * TextAlignment is implemented once across all Views that support it. * Unicode support is now much more robust and complete; dozens of bugs fixed. @@ -110,79 +113,9 @@ * Label is now mostly just an alias for View; supports Clicked * Button is now a very thin class derived from View (no API changes). * Dozens of unit tests for TextAlignment are provided reducing the chance of regressions. - - 0.81: - * Fix ncurses engine for macOS/Linux, it works again - * Fixes an issue with referencing views that have not been allocated yet causing a stack overflow - * New OnCloseMenu event on menus - * Button cursor position looks better - * Listview in single-selection mode uses a radio-button look - * Fixes a couple of crashes (356) - * Default the samples to work on Catalina - - 0.80: Jumbo update from BDisp: - * Fixed key events traversal for modal dialogs - * Fixes culture info of DataField from pr - * Fixes the rectangle drawing issue - * Redraw issue when setting coordinates of label - * Added sub menus into menu bar with mouse and key navigation - * Added Colors.Menu.Disabled to CursesDriver.cs - * Mouse text selection with cut, copy and paste on text fields - * Change sepChar from char to string in DateField - * Adding a disabled menu item in the demo file - * Fixes Button repainting issue when changing the text length to one smaller - * Fixes Redraw issue when setting coordinates of label - * Fixes ScrollView does not render some content - * Fixed bug in Button that caused a loop redraw calling TerminalResized - * Fixes a repaint issue (282) - * Mouse features added to FileDialog including wheel support. - * Switch netcoreapp target to netstandard2.0 - * Added TextView.TextChanged event - * Fixes issue #306 async/await hang (#312) - * Replaced static driver initialization with property getter for reference passing in Core.cs::View class, this allows the library to be reinitialized at any time. - * Made the Shutdown method on Core.cs::Application class public, since there is no reason to keep it private. Applications can shutdown the library and revert the console to the initial stage by calling it. - * Fixed a memory-leak on Drivers/WindowsDriver class by destroying the generated screen buffers at library shutdown by calling CloseHandle. - * Minor change to Core.cs::Application.Init(Func) for better initialization status tracking, via backend property instead of relying on the Top field. - * Moved `ListView.ListWrapper` out of `ListView` migueldeicaza/gui.cs#313` (#315) - * Resizing the MessageBox width to accommodate all message text (#299) - * Timefield format with bounds values (#303) - * Implemented lower and upper bounds to TimeField - * Passing old text to the Changed event handler - * Extract methods on ListView to make it controlable from other controls - - 0.70: Bug fixes (320, 321, 306, 304, 291, 299, 303); Surface ListView.ListWrapper, surface various internal methods for use in ListView; Allow list item selection; ; 0.65: Added new TimeField from Jörg Preiß; Fixes for Backtab by Martin Björkström; ListView now supports simple selection; Bug fixes by giladlevi, Daniel Cazzulino and Marius Ungureanu; New Application.Run of T entry point by Daniel Cazzulino; Added various View methods to bring forward, backwards and move views in the hierarchy; Switch to Portable PDBs by Daniel Cazzulino; Dims can now be compared by Daniel Cazzulino; OnMenuOpen handler by giladlevi; Various memory usage optimizations by giladlevi; FileDialog.FilePath is now a full path by Yanwei Wang; ISupportInitialize/ISupportInitializeNotification is now supported thanks to the work from Daniel Cazzulino; Support for non-modal TopLevels by Daniel Cazzulino and Adrian Alonso; 0.24: the Windows driver implements WakeUp, allowing some scenarios like bug #207 to be fixed; - 0.23: Better support for disabled menu items; Raises text changed event after the internals have been updated; Fix Caps-NumLock; Alt-HotKey now work on menus - 0.22: Correct vertical scrollview behavior, Small curses driver fix for terminals without mouse support, TextView support for scrolling, Surface Used property on TextField, Surface Cursor on RadioGroup. - - 0.21: Introudce Attribute.Make to more easily create attributes, and fix a bug in the file panel. - 0.20: Expose some of the CursesDriver APIs - 0.19: PageUpDown updates (GaikwadPratik); Fixes in multi-line labels (hlfrye@gmail.com); Support Delete char in TextView (Greg Amidon); Prevent empty TextViews from crashing; Allow TextFields to be updated on the Changed event. - 0.18: Fixes hotkeys for menus (Sang Kil); Fixes RemoveAll for all containers; Allows Toplevels with no views; Fixes FileDialog layout; Prevent crash in TextView - 0.17: Unix, dynamically load ncurses library to support different configurations, and not require -dev on Linux, various bug fixes. - - 0.16: Support for Shift-Tab on Windows (fix by @mholo65) - - 0.15: WindowsDriver fix for Legacy Console keyboard input (issue #105) - - 0.14: WindowsDriver fix for EventType size. - - 0.13: Fixes keyboard input for Alt-Gr and numbers. - - 0.12: Fixes the text editor merge line command. - - 0.11: Simplify TextField implementation, fixes a couple of editing bugs. - - 0.10: Fix unicode rendering for TextField, and bring F# example - - 0.9: File Open/File Save dialogs, HexView, Windows Driver allows resizing, mouse events, faster (thanks to Nick Van Dyck, nickvdyck for the contribution!), smaller bug fixes, - - 0.8: Completes keyboard support on Windows; Fixes delete on Windows, some layout fixes. - 0.7: terminal resizing on Linux propagates sizes with new layout system, and new features on the layout system (documented) - 0.6: new layout system, multi-line textview editor, Linux bug fix for .NET Core - 0.5: support Linux with .NET Core, Windows driver fixes. - 0.4: hotkey handling fix for RadioButtons - 0.3: Fix Windows key input to not echo characters on console, proper Fkey mapping - 0.2: Auto-detect the best console + * Fixes #351. Added a horizontal display for RadioGroup. (Thanks @bidsp!) + * Fixes #644. Added a UICatalog Scenario for a dynamic menu bar. (Thanks @bidsp!) + * Fixes #838. Added a Visible property to the View. (Thanks @bidsp!)