v0.7.0 - 24-Feb-2019 Added - New widgets -- The Button widget. - Improvements to documentation -- Clearly marked the public API surface by moving private packages into internal directory. -- Started a GitHub wiki for Termdash. - Improvements to the LineChart widget -- The LineChart widget can display X axis labels in vertical orientation. -- The LineChart widget allows the user to specify a custom scale for the Y axis. -- The LineChart widget now has an option that disables scaling of the X axis. Useful for applications that want to continuously feed data and make them "roll" through the linechart. -- The LineChart widget now has a method that returns the observed capacity of the LineChart the last time Draw was called. -- The LineChart widget now supports zoom of the content triggered by mouse events. - Improvements to the Text widget -- The Text widget now has a Write option that atomically replaces the entire text content. - Improvements to the infrastructure -- A function that draws text vertically. -- A non-blocking event distribution system that can throttle repetitive events. -- Generalized mouse button FSM for use in widgets that need to track mouse button clicks. Changed - Termbox is now initialized in 256 color mode by default. - The infrastructure now uses the non-blocking event distribution system to distribute events to subscribers. Each widget is now an individual subscriber. - The infrastructure now throttles event driven screen redraw rather than redrawing for each input event. - Widgets can now specify the scope at which they want to receive keyboard and mouse events. - Breaking API changes -- High impact --- The constructors of all the widgets now also return an error so that they can validate the options. This is a breaking change for the following widgets: BarChart, Gauge, LineChart, SparkLine, Text. The callers will have to handle the returned error. -- Low impact --- The container package no longer exports separate methods to receive Keyboard and Mouse events which were replaced by a Subscribe method for the event distribution system. This shouldn't affect users as the removed methods aren't needed by container users. --- The widgetapi.Options struct now uses an enum instead of a boolean when widget specifies if it wants keyboard or mouse events. This only impacts development of new widgets. Fixed - The LineChart widget now correctly determines the Y axis scale when multiple series are provided. - Lint issues in the codebase, and updated Travis configuration so that golint is executed on every run. - Termdash now correctly starts in locales like zh_CN.UTF-8 where some of the characters it uses internally can have ambiguous width.